PHP expert |
|
Ok hier komt de uitleg
Ik neem aan dat je eens cript wil dat eenmalig alle dubbelen er uit haalt?
als je daarna namelijk de kolom een unique maakt zal er nooit meer een dubbele waarde voorkomen.
SELECT T1.id, (
SELECT COUNT( 1 )
FROM wedstrijden AS T2
WHERE T2.thuisteam = T1.thuisteam
AND T2.id != T1.id
)
FROM wedstrijden AS T1
WHERE (
SELECT COUNT( 1 )
FROM wedstrijden AS T3
WHERE T3.thuisteam = T1.thuisteam
AND T3.id != T1.id
) !=0
LIMIT 0 , 30
SELECT T1.id, ( FROM wedstrijden AS T2 WHERE T2.thuisteam = T1.thuisteam AND T2.id != T1.id ) FROM wedstrijden AS T1 WHERE ( FROM wedstrijden AS T3 WHERE T3.thuisteam = T1.thuisteam AND T3.id != T1.id ) !=0 LIMIT 0 , 30
Regel 1: Neem voor iedere rij de kolom ID (of een kolom waarmee jij precies ziet om welke rij het gaat.) uit tabel T1(tijdelijke tabel, zie regel 7)
2: Het tweede veld dat geselecteerd wordt: Het aantal rijen dat er is dat ook dat thuisteam heeft maar een ander uniek veld.
3: ... uit tabel wedstrijden, die voor de query de tijdelijke naam T2 krijgt.
4,5: Als van T2 de thuisploeg gelijk is aan die van de huidige rij van T1, maar een ander ID heeft, tel dan 1 op bij de COUNT()
7: De oorspronkelijke query wordt gedraaid op de tabel wedstrijden, met de tijdelijke naam T1
9: Selecteer alle rijen waar de count meer is dan 0 (0 wordt gezien als FALSE, alle getallen daarboven worden gezien als TRUE.
Dit zal wel volstaan volgens mij. |