ich von id ersten beiden Top voted Beiträge dann andere sortiert anzeigen möchtenMysql, um von oben zwei dann id
Diese Tabelle ist
+----+-------+--------------+--------+
| Id | Name | Post | Votes |
+====+=======+==============+========+
| 1 | John | John's msg | -6 |
| 2 |Joseph |Joseph's msg | 8 |
| 3 | Ivan | Ivan's msg | 3 |
| 4 |Natalie|Natalie's msg | 10 |
+----+-------+--------------+--------+
Nach Abfrage-Ergebnis sein sollte:
+----+-------+--------------+--------+
| Id | Name | Post | Votes |
+====+=======+==============+========+
| 4 |Natalie|Natalie's msg | 10 |
| 2 |Joseph |Joseph's msg | 8 |
-----------------------------------------------
| 1 | John | John's msg | -6 |
| 3 | Ivan | Ivan's msg | 3 |
+----+-------+--------------+--------+
Ich habe 1 Lösung, aber ich habe das Gefühl, dass es einen besseren und schnelleren Weg gibt. I 2 Abfragen ausführen, ein Top-2 zu erhalten, dann zweite andere zu erhalten:
SELECT * FROM table order by Votes desc LIMIT 2
SELECT * FROM table order by Id desc
Und dann in PHP ich sicher, dass ich erste Abfrage zeigen, wie es ist, und 2. Abfrage entfernen i Eintrag des auf die Anzeige, dass sind in der ersten Abfrage, so dass sie nicht verdoppeln. Kann dies in Einzelabfrage getan werden, um die ersten beiden oberen gewählt wählen, dann andere?
Ich denke, dass MySQL eine LIMIT in der Unterabfrage nicht unterstützt, aber Sie können stattdessen eine Verknüpfung verwenden – fthiella
@fthiella pls überprüfen Sie den Link auf Union. Es sagt sonst :) – Shadow
Ja, das Problem ist nicht auf der Union-Abfrage, wo das Limit unterstützt wird, aber auf dem 'NICHT IN (wählen Sie ... LIMIT 2)' wo es nicht ist – fthiella