I write such a request

$years=Serial::find()->from(['new_table'=>Serial::find()->orderBy(['year'=>SORT_DESC])])->select('year')->groupBy('year')->orderBy(['year'=>SORT_DESC])->all(); 

getting

 SELECT `year` FROM ( SELECT * FROM `fl_serial` ORDER BY `year` DESC) `new_table` GROUP BY `year` 

but I would like to

 SELECT `year` FROM ( SELECT * FROM `fl_serial` ) `new_table` GROUP BY `year` ORDER BY `year` DESC 

how to arrange it

  • Why do you complicate the request at all? SELECT year FROM fl_serial GROUP BY year ORDER BY year DESC Does this not do the same? - Ninazu

1 answer 1

 Serial::find() ->select('[[year]]') ->from('{{fl_serial}}') ->groupBy('[[year]]') ->orderBy(['year'=>SORT_DESC]) ->all(); 

It seems somehow it should work out.