webForumDet fria alternativet
Logga in / Bli medlem

ORDER BY en COUNT()

Databaser & SQL

2 svar · 289 visningar · startad av LilleSkutt

Medlem sedan feb. 2001265 inlägg
Frågan#1

Varför kan man inte göra så här:

SELECT produkt, COUNT(*) AS antal FROM produkter GROUP BY produkt ORDER BY antal DESC

Hur ska jag göra för att få ut dem i stigande ordning, med en SQL-sats, om inte det här funkar? :q

Medlem sedan juni 200032 967 inlägg
#2

Vad använder du för dbms?

Om du använder Access borde kanske detta fungera:

SELECT produkt, COUNT(*) AS antal FROM produkter GROUP BY produkt ORDER BY 2 DESC

Kanske 2 ska vara 1, jag kan inte räkna just nu. :OO :q

Mvh,

Medlem sedan dec. 200012 464 inlägg
#3

Det är så det är tänkt att man skall göra, dvs att att använda korrelationsnamnet. I en order by skall man kunna ange ett godtyckligt uttryck och då kommer order by 1 innebära att man sorterar efter konstanten 1 (dvs ingen sortering alls). Så att man kan ange ett ordningsnummer i order by är något som kommer att försvinna i sql 2002.

259 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)