Ik heb de volgende gegevens in een MySQL tabel staan:
Nou wil ik graag alle dubbele waarden van het veld 'name' er uit filteren. De velden met de hoogste prioriteiten moeten over blijven. Na het uitvoeren van de query zou dit het resultaat moeten zijn:
Resultaat
Een GROUP BY moet volgens mij wel gebruikt worden, maar op welk veld moet ik dan een aggregate functie zetten? En welke aggregatie functie moet er dan gebruikt worden? Het zal wel vrij eenvoudig zijn, maar ik kom er niet uit. Google en de MySQL documentatie konden me hiermee ook niet helpen, misschien jullie wel?
Volgens mij kan het op een eenvoudige manier...
| id | name | priority |
| 1 | ac | 3 |
| 2 | ab | 2 |
| 3 | ac | 2 |
| 4 | a | 1 |
| 5 | aa | 1 |
| 6 | ab | 1 |
| 7 | ac | 1 |
Nou wil ik graag alle dubbele waarden van het veld 'name' er uit filteren. De velden met de hoogste prioriteiten moeten over blijven. Na het uitvoeren van de query zou dit het resultaat moeten zijn:
Resultaat
| id | name | priority |
| 1 | ac | 3 |
| 2 | ab | 2 |
| 4 | a | 1 |
| 5 | aa | 1 |
Een GROUP BY moet volgens mij wel gebruikt worden, maar op welk veld moet ik dan een aggregate functie zetten? En welke aggregatie functie moet er dan gebruikt worden? Het zal wel vrij eenvoudig zijn, maar ik kom er niet uit. Google en de MySQL documentatie konden me hiermee ook niet helpen, misschien jullie wel?
SQL:
1
2
3
4
| SELECT id, name, priority FROM test GROUP BY ? ORDER BY priority |
Volgens mij kan het op een eenvoudige manier...