Hier ist die Frage: Ich habe eine Tabelle, die wie folgt aussieht (vereinfacht)mySQL ORDER BY SUM Doppel GROUP BY, Gruppen erhalten
+------+------+------+
| res | loc | rent |
+------+------+------+
| WEB | WP | 100 |
| WEB | VA | 300 |
| VR | WP | 500 |
| VR | VA | 200 |
| VR | VA | 600 |
| CS | WP | 400 |
| CS | WP | 90 |
+------+------+------+
Ich kann die Tabelle wie folgt mit SELECT res zu sehen bekommen, loc , SUM (Miete) FROM testTable GROUP BY res, loc;
+------+------+-----------+
| res | loc | SUM(rent) |
+------+------+-----------+
| CS | WP | 490 |
| VR | VA | 800 |
| VR | WP | 500 |
| WEB | VA | 300 |
| WEB | WP | 100 |
+------+------+-----------+
Was ich von hier will, ist die Tabelle mit VR zuerst zu bestellen (weil seine Gesamtmiete größter ist), dann CS, dann, WEB, aber ich mag auch Gruppe erhalten, um so es so aussehen würde
+------+------+-----------+
| res | loc | SUM(rent) |
+------+------+-----------+
| VR | VA | 800 |
| VR | WP | 500 |
| CS | WP | 490 |
| WEB | VA | 300 |
| WEB | WP | 100 |
+------+------+-----------+
diese Weise können sie mieten gruppiert nach Ort zusammengefasst sind und dann durch größte Miete insgesamt bestellt und dann durch Miete innerhalb dieser Miete insgesamt bestellt. VR ist oberste Ursache (800 + 500)> 490> (300 + 100) und loc VA kommt vor WP in der VR-Gruppe weil 800> 500.
Ist das möglich ich träume zu groß?
Super, genau das, was ich wollte, danke. Allerdings habe ich einen erweiterten Teil zu meiner Frage: Ist es mir möglich, etwas wie LIMIT 2 zu machen und so eine Tabelle wie nur mit den beiden obersten res (VR und CS) zurückgeben zu können? – Taylor
Wenn LIMIT 2 zur Unterabfrage hinzugefügt wird, sollte es auf die beiden obersten Res beschränkt werden (aufgrund des ** inneren ** Joins), aber immer noch alle ihre Loksummen anzeigen; Wenn Sie nur die höchsten Locs der Liste res wollen, setzen Sie das Limit 2 ganz am Ende der gesamten Abfrage. – Uueerdo
Der obige Kommentar sollte sagen _wenn Sie nur die höchsten Locs der ** höchsten ** res_ wollen – Uueerdo