группировать по функциям, применяемым к дате в sql

#sql #laravel

#sql #laravel

Вопрос:

Я хочу применить запрос groupBy к дате (по году) проблема в том, что у меня есть только один столбец даты, в котором хранится дата, подобная этой 2010-11-01 я хочу создать группу только из года

Комментарии:

1. Я думаю, что этот вопрос нуждается в более подробной информации. Что вы пробовали, каков формат данных, что именно вызывает у вас проблемы?

2. вам нужно создать новый столбец с номером года в sql, после чего вы сможете применить группу

3. ->select('year(date) as year)->groupBy('year') что-то вроде этого

4. Используйте ГРУППИРОВКУ ПО ГОДАМ (yourDate)

5. Я не хочу добавлять столбец, если был дополнительный столбец, чем это было легко

Ответ №1:

Похоже, ваша база данных правильно спроектирована, чтобы иметь столбец даты в качестве типа даты. Вы должны сгруппироваться по значению YEAR() значения даты.

Вызовите groupBy() метод и передайте необработанный sql YEAR(your_date_column_name) .

 ->groupBy(DB::raw('YEAR(your_date_column_name)')