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

MySQL - Каква е разликата между GROUP BY и DISTINCT?

Дубликат на

Има ли разлика между GROUP BY и РАЗЛИЧЕН

Тук вече е обсъдено

Ако все още искате да слушате тук

Добре групиране по и различно има собствена употреба.

Distinct се използва за филтриране на уникални записи от записите, които отговарят на критериите за заявка.

Група по клауза се използва за групиране на данните, върху които се задействат агрегатните функции и изходът се връща въз основа на колоните в клаузата група по. Той има свои собствени ограничения, като всички колони, които са в заявката за избор, освен агрегатните функции, трябва да са част от клауза Group by.

Така че, въпреки че можете да имате едни и същи данни, върнати от клауза different и group by, по-добре е да използвате different. Вижте примера по-долу

select col1,col2,col3,col4,col5,col6,col7,col8,col9 from table group by col1,col2,col3,col4,col5,col6,col7,col8,col9

може да се запише като

select distinct col1,col2,col3,col4,col5,col6,col7,col8,col9 from table

Това прави живота ви по-лесен, когато имате повече колони в списъка за избор. Но в същото време, ако трябва да покажете sum(col10) заедно с горните колони, ще трябва да използвате Group By. В този случай различен няма да работи.

напр.

select col1,col2,col3,col4,col5,col6,col7,col8,col9,sum(col10) from table group by col1,col2,col3,col4,col5,col6,col7,col8,col9

Надявам се това да помогне.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да получа сортиран резултат в mysql заявка?

  2. Търсене на критерии въз основа на TextField и меню със списък

  3. Защо да използвам DB::raw вътре в DB::select в Laravel?

  4. Вмъквайте редове само когато съществува идентификатор от друга таблица

  5. MySQL вмъква множество записи с цикъл while