Zou iemand me kunnen helpen met de twee onderstaanden probleempjes?
Voor de volledigheid: Ik gebruik mySQL 3.23..
VRAAG 1:
Ik wil graag van een tabel weten hoe vaak een veld voorkomt, en hoe vaak dit veld aan een bepaalde waarde voldoet. Momenteel gebruik ik hier twee losse query's voor die ik combineer door middel van een php script; kort komt het er op neer dat ik ik eerst kijk hoe vaak er aan mijn waarde voldaan wordt, het resultaat in een associate array opsla, kijk hoe vaak de waarde in totaal voorkomt, en vervolgens aan de hand van de assoc array het totaal aan een object hang. Aan de hand een verzameling objecten ga ik vervolgens verder met mijn programma.
Ik heb echter sterk het idee dat dit makkelijker moet kunnen, en waarschijnlijk zelfs wel in een query, ik heb alleeen geen idee hoe. De twee query's die ik momenteel gebruik zijn:
Hoe zou ik deze twee query's kunnen combineren?
VRAAG 2:
Hoe kan ik bepalen als hoeveelste een waarde voorkomt in een uitslag? Ik gebruik momenteel onderstaande query om een lijst te genereren, gesorteerd op tijd. Vervolgens sla ik wederom op in een assoc array en kijk ik voor een bepaald leden_id op welke plaats deze staat. Net als bij mijn eerste vraag, heb ik hier wederom het idee omslachtig bezig te zijn. Daarnaast is dit volgens mij ook behoorlijk traag als ik maar van een resultaat hoef te weten op welke plaats deze staat (voor meerdere resultaten kan ik de array iig nog een aantal keer gebruiken, dus dan zal het wel meevallen denk ik).
Mijn query is:
Voor de volledigheid: Ik gebruik mySQL 3.23..
VRAAG 1:
edit:
vraag 1 is inmiddels opgelost..
vraag 1 is inmiddels opgelost..
Ik wil graag van een tabel weten hoe vaak een veld voorkomt, en hoe vaak dit veld aan een bepaalde waarde voldoet. Momenteel gebruik ik hier twee losse query's voor die ik combineer door middel van een php script; kort komt het er op neer dat ik ik eerst kijk hoe vaak er aan mijn waarde voldaan wordt, het resultaat in een associate array opsla, kijk hoe vaak de waarde in totaal voorkomt, en vervolgens aan de hand van de assoc array het totaal aan een object hang. Aan de hand een verzameling objecten ga ik vervolgens verder met mijn programma.
Ik heb echter sterk het idee dat dit makkelijker moet kunnen, en waarschijnlijk zelfs wel in een query, ik heb alleeen geen idee hoe. De twee query's die ik momenteel gebruik zijn:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| SELECT leden_id, COUNT(*) AS pb_count FROM overzicht WHERE opmerking_id = '1' GROUP BY leden_id ORDER BY pb_count DESC; SELECT leden_id, COUNT(*) AS total FROM overzicht GROUP BY leden_id ORDER BY total DESC; |
Hoe zou ik deze twee query's kunnen combineren?
VRAAG 2:
Hoe kan ik bepalen als hoeveelste een waarde voorkomt in een uitslag? Ik gebruik momenteel onderstaande query om een lijst te genereren, gesorteerd op tijd. Vervolgens sla ik wederom op in een assoc array en kijk ik voor een bepaald leden_id op welke plaats deze staat. Net als bij mijn eerste vraag, heb ik hier wederom het idee omslachtig bezig te zijn. Daarnaast is dit volgens mij ook behoorlijk traag als ik maar van een resultaat hoef te weten op welke plaats deze staat (voor meerdere resultaten kan ik de array iig nog een aantal keer gebruiken, dus dan zal het wel meevallen denk ik).
Mijn query is:
code:
1
2
3
4
5
6
7
8
9
| SELECT leden_id, MIN(tijd) AS tijd FROM overzicht GROUP BY leden_id ORDER BY tijd; |
[ Voor 3% gewijzigd door BetuweKees op 19-11-2003 01:54 ]
Through meditation I program my heart to beat breakbeats and hum basslines on exhalation -Blackalicious || *BetuweKees was AFK; op de fiets richting China en verder