webForumDet fria alternativet

Skillnad mellan Disctint och Group?

ASP

4 svar · 177 visningar · startad av Pace

Medlem sedan juni 20019 024 inlägg
Frågan#1

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

------------------
Peter D

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

------------------
essentitia preter non sans multiplicandum

Medlem sedan juni 20019 024 inlägg
#3

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

------------------
Peter D

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.

------------------
essentitia preter non sans multiplicandum

Medlem sedan juni 20019 024 inlägg
#5

Jag förstår... Tack!

Sol, vind, och vatten! :h :h

------------------
Peter D

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