Ich möchte die Gesamtzahl der Zeilen durch die folgende Abfrage zurückgegeben zählen:Get Anzahl der komplexen Abfrage
SELECT table1.*, COUNT(table2.fk) * (100/18) AS 'number'
FROM table1 INNER JOIN table2 ON table1.pk = table2.fk
WHERE table1.Street LIKE '$Street%'
AND table1.City LIKE '$City%'
AND table1.Zip LIKE '%$Zip'
AND table1.DOBY LIKE '%$DOBY'
AND table1.DOBM LIKE '%$DOBM'
AND table1.DOBD LIKE '%$DOBD'
AND table1.Gender LIKE '$gender%'
AND table2.year>= 2004
AND table2.type IN ('AA', 'AB', 'AC')
GROUP BY table2.fk
HAVING (COUNT(table2.fk) * (100/18)) >= '$activity'
ORDER BY DOBY, DOBM, DOBD ASC
Die Abfrage der Anzahl oder Zeiten zählt der Primärschlüssel der Tabelle 1 als Fremdschlüssel von table2 auftritt und berechnet einen Prozentsatz ("Anzahl") basierend auf einem festen Betrag. Es funktioniert gut genug, aber ich habe Probleme, die Gesamtzahl der Datensätze für mein Paginierungsskript zu erhalten. Ich würde es schätzen, wenn jemand einige Vorschläge oder Lösungen anbieten kann.
Würde eine Unterabfrage funktionieren (d. H., '(SELECT COUNT (ID) FROM Tabelle WHERE Bedingung = $ Variable) AS count')? Oder ist diese Abfrage, für was Sie die Anzahl benötigen? Ich sehe das Schlüsselwort "LIMIT" nicht. –
Dies ist die Abfrage, für die ich die Anzahl benötige. Es ist viel komplexer, aber ich habe es aus Gründen der Einfachheit etwas reduziert. Das Limit-Schlüsselwort kommt nach der letzten Zeile, "LIMIT $ start, $ limit;" – deathonater