2016-12-28 1 views
-3

Ich bin eine Paginierung Funktion zu machen, hier ist mein Fall:Kann ich 2 verschiedene Ergebnisse aus 1 Tabelle in einer einzigen Abfrage abrufen?

1 Tabelle (Beispiel)

id | title | date | details 

Nun möchte ich aus dieser Tabelle (Beispiel)

    zwei unterschiedliche Ergebnisse abrufen
  1. Zählen Sie alle Zeilen (für die Gesamtzahl aller Listen)
  2. Ich zeige nur alle 10 Listen pro Seite.

Mein aktueller Code ist, ich habe zwei getrennte Abfragen für 1 und 2, so dass es wie 2-Verbindungen ist, meine Frage ist, kann dies mit einer einzigen Abfrage durchgeführt werden und dann beide 1 und 2 Ergebnisse abrufen? Wenn ja, was muss ich tun? Jeder Vorschlag kann mir helfen!

+1

Antwort ist __No Sie diese –

+1

Bitte beachten Sie auch für „aus den gewöhnlichen“ Wege can't__ Paginierung zu optimieren - http://www.xarg.org/2011/10/optimized-pagination-using- mysql / – sm1979

Antwort

1

Ich denke,

Dies wird Ihnen helfen.

Schritt 1: Holen Sie sich das ganze Liste aus der Tabelle Schritt 2: Dann die Datensätze zählen

Hier ist die einzige Abfrage, es auszuführen ist.

SELECT COUNT(tmp.id) as cnt, tmp.* FROM (SELECT id, title, date, details FROM tablename) tmp 
Verwandte Themen