dedlfix: MySQL SELECT Zeile duplizieren

Beitrag lesen

Tach!

Wir haben 200 Artikel in der DB. Nun möchte ich bei der Abfrage herausfinden, wie viele Datensätze INSGESAMT gefunden wurden und das bekomme ich nur hin mit SQL_CALC_FOUND_ROWS, da ja bei mysql_num_rows nur "9" ausgegeben wird, da ja die Abfrage mit LIMIT 9 limitiert wird.

Nun habe ich bei den 200 Artikel insgesamt 20 Artikel mit einen SOPO-Eintrag, was nun also als Gesamt-Zahl 220 Artikel bedeuten würde. Bei meiner aktuellen Abfrage würde das Skript aber trotzdem nur 200 Zeilen finden, da eben diese SOPO-Eintrage nicht "doppelt" gezählt wird.

Achso, du möchtest überhaupt gar keine Zeile duplizieren, sondern nur doppelt zählen. Nun, SQL_CALC_FOUND_ROWS wird dir da nicht weiterhelfen. Und ich wüsste jetzt auch nicht, wie man das in einer Abfrage hinbekommt, die mit LIMIT ausgestattet ist. - Doch, mir fällt da was ein, aber hübsch ist das nicht. Ergänze in der Feldliste eine weitere Spalte, in der per Subquery die entsprechenden Datensätze gezählt werden. Dann hast du das Ergebnis aber in jedem Datensatz der Ergebnismenge stehen.

Jedenfalls würde ich (egal ob separat oder mit der Subquery) mit SUM(IF(SOPO, 2, 1)) arbeiten.

dedlfix.