rij selecteren met meest ingevulde waarden
femke
31/01/2008 09:28:00Ik wil graag 1 rij selecteren waar de meeste waarden bij zijn ingevuld. Kan dat met SQL?
bv
jan - 2 4 3 - - 2
piet 2 8 9 3 9 9 -
sien - - - 2 3 4 5
zou piet moeten opleveren. Alleen knelpunt kan natuurlijk ontstaan wanneer 2 rijen evenveel waarden hebben, echter na bekijken content is gebleken dat dit scenario niet voorkomt.
bv
jan - 2 4 3 - - 2
piet 2 8 9 3 9 9 -
sien - - - 2 3 4 5
zou piet moeten opleveren. Alleen knelpunt kan natuurlijk ontstaan wanneer 2 rijen evenveel waarden hebben, echter na bekijken content is gebleken dat dit scenario niet voorkomt.
PHP hulp
14/11/2024 23:35:39Jan Koehoorn
31/01/2008 09:38:00Joren de Wit
31/01/2008 10:12:00Ik mag niet hopen dat je de waarden ook op die manier in je tabel hebt staan? Dus met allemaal aparte kolommen voor die verschillende waarden?
Als dat wel het geval is ben je in ieder geval fout bezig en zul je eerst eens moeten gaan noraliseren.
Als dat wel het geval is ben je in ieder geval fout bezig en zul je eerst eens moeten gaan noraliseren.
Frank -
31/01/2008 10:55:00Met 2 tabelletjes:
users:
- id
- username
reacties
- id
- id_user
- reactie
En dan de query:
Zoiets zal het mogen worden.
users:
- id
- username
reacties
- id
- id_user
- reactie
En dan de query:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
SELECT
COUNT(r.id) AS aantal,
u.username
FROM
reacties AS r
JOIN
users AS u ON r.id_user = u.id
GROUP BY
u.username
ORDER BY
aantal DESC
LIMIT 1
COUNT(r.id) AS aantal,
u.username
FROM
reacties AS r
JOIN
users AS u ON r.id_user = u.id
GROUP BY
u.username
ORDER BY
aantal DESC
LIMIT 1
Zoiets zal het mogen worden.