Order by antal rækker...

Tags:    php

Hej.
Jeg er ved at lave, så den henter fra en givet tabel, og udskriver de 5 navne - ét angivet i hver række - efter hvilket der står flest gange angivet i tabellen. Altså, den skal udskrive 5 af rækkerne, og det skal være dem, som har et bestemt navn angivet i rækken, flest gange angivet i tabellen.

Hvis jeg havde et nummer angivet i en celle, så kunne jeg sagtens udskrive dem efter størrelsen af nummeret ved hjælp af:
-----
mysql_query("SELECT * FROM tabel ORDER BY cellen desc LIMIT 5");
-----

Men, det er jo nemlig ikke det jeg skal. Jeg skal istedet lavet noget som dette: (ikke nær rigtigt, bare så i forstår)
-----
$best = mysql_query("SELECT * FROM tabel ORDER BY antal-gange-angivet-i-tabellen LIMIT 5");
-----

- På fårhånd tak..

[Redigeret d. 28/01-06 14:12:43 af None]



3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Du laver dity udtrak sådan her:
Fold kodeboks ind/udKode 


Den række der hedder nr skal indeholde det/de tal og sorterer efter hvilken en der er flest i.
---------------------------------
http://forcesofdk.hotserv.dk
http://www.Webcoder.dk



Hej.
Jeg er ved at lave, så den henter fra en givet tabel, og udskriver de 5 navne - ét angivet i hver række - efter hvilket der står flest gange angivet i tabellen. Altså, den skal udskrive 5 af rækkerne, og det skal være dem, som har et bestemt navn angivet i rækken, flest gange angivet i tabellen.

Hvis jeg havde et nummer angivet i en celle, så kunne jeg sagtens udskrive dem efter størrelsen af nummeret ved hjælp af:
-----
mysql_query("SELECT * FROM tabel ORDER BY cellen desc LIMIT 5");
-----

Men, det er jo nemlig ikke det jeg skal. Jeg skal istedet lavet noget som dette: (ikke nær rigtigt, bare så i forstår)
-----
$best = mysql_query("SELECT * FROM tabel ORDER BY antal-gange-angivet-i-tabellen LIMIT 5");
-----

- På fårhånd tak..

[Redigeret d. 28/01-06 14:12:43 af None]

Hey

Jeg har ikke testet denne, og skal nok tilpasses lidt.

SELECT DISTINCT c FROM TABLE ORDER BY SUM(COUNT(c)) DESC LIMIT 5

Den tager udgangspunkt i kollonnen c som, den vælger kun skal tage en af hver (distinct). Derefter vælger den at outputtet skal sorteres efter antallet af forekomster af denne værdi.

MvH

Stefan Svensson



t