Duplikat af
Er der nogen forskel mellem GROUP BY og DISTINCT
Det er allerede diskuteret her
Hvis du stadig vil lytte her
Godt gruppe efter og særskilt har sin egen brug.
Distinct bruges til at filtrere unikke poster ud af de poster, der opfylder forespørgselskriterierne.
Gruppér efter klausul bruges til at gruppere de data, hvorpå de samlede funktioner udløses, og outputtet returneres baseret på kolonnerne i gruppe efter klausulen. Det har sine egne begrænsninger, såsom at alle de kolonner, der er i udvælgelsesforespørgslen bortset fra de samlede funktioner, skal være en del af Group by-klausulen.
Så selvom du kan få de samme data returneret af distinkt og gruppe for klausul, er det bedre at bruge distinkt. Se nedenstående eksempel
select col1,col2,col3,col4,col5,col6,col7,col8,col9 from table group by col1,col2,col3,col4,col5,col6,col7,col8,col9
kan skrives som
select distinct col1,col2,col3,col4,col5,col6,col7,col8,col9 from table
Det gør livet lettere for dig, når du har flere kolonner på listen. Men på samme tid, hvis du skal vise sum(col10) sammen med ovenstående kolonner, skal du bruge Group By. I så fald vil distinkt ikke virke.
f.eks.
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
Håber dette hjælper.