Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL - Jaka jest różnica między GROUP BY i DISTINCT?

Duplikat

Czy jest jakaś różnica między GROUP BY i WYRÓŻNIONE

Zostało to już omówione tutaj

Jeśli nadal chcesz słuchać tutaj

Dobrze pogrupuj i rozróżnij ma swój własny użytek.

Distinct służy do filtrowania unikalnych rekordów spośród rekordów spełniających kryteria zapytania.

Klauzula group by służy do grupowania danych, na podstawie których uruchamiane są funkcje agregujące, a dane wyjściowe są zwracane na podstawie kolumn w klauzuli group by. Ma swoje własne ograniczenia, takie jak wszystkie kolumny, które są w zapytaniu wybierającym, oprócz funkcji agregujących, muszą być częścią klauzuli Group by.

Więc nawet jeśli możesz mieć te same dane zwrócone przez differ i group by z klauzulą, lepiej jest użyć different. Zobacz poniższy przykład

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

można zapisać jako

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

Ułatwia Ci życie, gdy masz więcej kolumn na liście wyboru. Ale jednocześnie, jeśli chcesz wyświetlić sumę(col10) wraz z powyższymi kolumnami, będziesz musiał użyć Grupuj według. W takim przypadku rozróżnienie nie zadziała.

np.

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

Mam nadzieję, że to pomoże.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zmienić typ danych dla kolumny w MySQL?

  2. Paginacja za pomocą MySQL LIMIT, OFFSET

  3. PHP Nie wybrano bazy danych

  4. Jak wywołać procedury składowane MySQL z Perla?

  5. Jak stworzyć rozwijane menu