Mysql
 sql >> база данни >  >> RDS >> Mysql

Дайте приоритет на ORDER BY пред GROUP BY в MySQL без подзаявка

По дефиниция ORDER BY се обработваслед групиране с GROUP BY. По дефиниция концептуалният начин, по който всеки оператор SELECT се обработва е:

  1. Изчислете декартовото произведение на всички таблици, посочени в клаузата FROM
  2. Приложете критериите за присъединяване от клаузата FROM, за да филтрирате резултатите
  3. Приложете критериите за филтриране в клаузата WHERE, за да филтрирате допълнително резултатите
  4. Групирайте резултатите в подмножества въз основа на клаузата GROUP BY, свивайки резултатите до един ред за всяко такова подмножество и изчислявайки стойностите на всички агрегатни функции -- SUM() , MAX() , AVG() и т.н. -- за всяко такова подмножество. Имайте предвид, че ако не е посочена клауза GROUP BY, резултатите се третират така, сякаш има едно подмножество и всички агрегатни функции се прилагат към целия набор от резултати, свивайки го до един ред.
  5. Филтрирайте сега групираните резултати въз основа на клаузата HAVING.
  6. Сортирайте резултатите въз основа на клаузата ORDER BY.

Единствените разрешени колони в набора от резултати на SELECT с клауза GROUP BY са, разбира се,

  • Колоните, посочени в клаузата GROUP BY
  • Агрегиращи функции (като MAX() )
  • литерал/константи
  • изрази, получени от някое от горните.

Само неработещи SQL реализации позволяват неща като select xxx,yyy,a,b,c FROM foo GROUP BY xxx,yyy — препратките към колони a, b и c са безсмислени/недефинирани, като се има предвид, че отделните групи са свити до един ред,



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преминаване през входни масиви на формуляри в php

  2. Сортиране по някаква колона, а също и по rand() в MySQL

  3. Как да вмъкнете тагове в база данни с помощта на jquery html и php

  4. MySQL автоматично увеличение на отделна стойност, въведена в друга колона?

  5. Ляво присъединяване ON условие И друг синтаксис на условие в Doctrine