sql >> Database >  >> RDS >> Mysql

MySQL - Wat is het verschil tussen GROUP BY en DISTINCT?

Duplicaat van

Is er enig verschil tussen GROUP BY en DISTINCT

Het is hier al besproken

Als je hier nog wilt luisteren

Goed groeperen op en onderscheiden heeft zijn eigen gebruik.

Distinct wordt gebruikt om unieke records te filteren uit de records die voldoen aan de zoekcriteria.

Group by-clausule wordt gebruikt om de gegevens te groeperen waarop de statistische functies worden geactiveerd en de uitvoer wordt geretourneerd op basis van de kolommen in de group by-clausule. Het heeft zijn eigen beperkingen, zoals alle kolommen die in de selectiequery staan, afgezien van de aggregatiefuncties, moeten deel uitmaken van de Group by-clausule.

Dus hoewel u dezelfde gegevens kunt laten retourneren per afzonderlijke en groep voor clausule, is het beter om onderscheiden te gebruiken. Zie onderstaand voorbeeld

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

kan worden geschreven als

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

Het maakt je leven gemakkelijker als je meer kolommen in de selectielijst hebt. Maar tegelijkertijd als u sum(col10) samen met de bovenstaande kolommen moet weergeven, moet u Group By gebruiken. In dat geval werkt duidelijk niet.

bijv.

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

Ik hoop dat dit helpt.



  1. Hoe de dimensie van een DECLAREd-variabele in SP's te krijgen?

  2. Niet-alphaNumerics verwijderen in MySQL

  3. Bepalen of de veldgegevens in Oracle van het type Getal zijn

  4. Ik probeer een bestand te kopiëren, maar krijg een foutmelding