->select and groupby
-
- Сообщения: 536
- Зарегистрирован: 2016.09.05, 23:21
->select and groupby
Насколько я понимаю select выбирает именно первый Id . Можно ли как то из уникальных делать выборку по параметрам заданным мною.
Re: ->select and groupby
немного не понятно в чем вопрос .. ->select это метод, грубо говоря, для определения какие поля из базы доставать ну или данные из ф-ций типа count(*) ну или length(text) ...
он никак не влияет на количество записей и на то какие записи доставать ... первые или последние ...
или я не так понял ваш вопрос
он никак не влияет на количество записей и на то какие записи доставать ... первые или последние ...
или я не так понял ваш вопрос
Re: ->select and groupby
Можно, если первоначальную сортировку или фильтрацию сделать подзапросом:
А для простых вариантов - агрегирующие функции.
Код: Выделить всё
SELECT s.* FROM (SELECT * FROM table ORDER BY field DESC) s GROUP BY ... ORDER BY ...
Последний раз редактировалось ElisDN 2017.11.12, 23:25, всего редактировалось 1 раз.
-
- Сообщения: 536
- Зарегистрирован: 2016.09.05, 23:21
Re: ->select and groupby
допустим есть поля
хочу вывести строки с уникальным id_address но минимальное ценой
как мне прописать методами ActievRecord?
Код: Выделить всё
id, address, id_address,price
Код: Выделить всё
$sales = Model::find()
->where(???)
Re: ->select and groupby
Код: Выделить всё
$sales = Model::find()
->from(Model::find()->alias('s')->...)
->groupBy(...)
Re: ->select and groupby
an.viktory@gmail.com писал(а): ↑2017.11.12, 22:07 допустим есть поляхочу вывести строки с уникальным id_address но минимальное ценойКод: Выделить всё
id, address, id_address,price
как мне прописать методами ActievRecord?Код: Выделить всё
$sales = Model::find() ->where(???)
ElisDN писал(а): ↑2017.11.12, 22:45Код: Выделить всё
$sales = Model::find() ->from(Model::find()->alias('s')->...) ->groupBy(...)
можно обойтись groupBy а в select добавить min(price) as min_price
-
- Сообщения: 536
- Зарегистрирован: 2016.09.05, 23:21
Re: ->select and groupby
спасибо