Skillnad mellan Disctint och Group?

ASP

4 svar · 187 visningar · startad av Pace

Medlem sedan juni 20019 024 inlägg
Trådstart#1

Vad är egentligen skillnaden i att använda GROUP och DISTINCT i sql?

Medlem sedan dec. 200012 464 inlägg
#2

Distinct är bara ett specialfall av group by.

  select a,b from t group by a,b

är samma sak som

  select distinct a,b from t

Det man kan göra med hjälp av group by är att använda aggregatfunktioner i select listan, t.ex

  select a,b,sum(c) from t
  group by a,b

innebär att man får summeringen utförd för varje unik grupp av värden i a,b

Medlem sedan juni 20019 024 inlägg
#3

Så det handlar om funktion och inte om prestanda med andra ord?

Medlem sedan dec. 200012 464 inlägg
#4

Ja, det är en funktionell sak.

Det har viss inverkan på prestanda. Oftast innebär distinct/group by att det blir mindre data som förflyttas, men å andra sidan så behöver man ofta bygga en temporärtabell för att utföra operationen. Som vanligt är det inget entydigt svar utan det beror på situationen.

Medlem sedan juni 20019 024 inlägg
#5

Jag förstår... Tack!

Sol, vind, och vatten! :h :h

250 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)