Zählen gleicher Datensätze (2 Spalten)
Hallo Leute!
Kann mir jemand vielleicht bei folgenden Problem helfen. Ich suche eine mySQL query , die mir gleiche Datensätze zählt. Allerdings können sich die Daten in zwei Spalten unterscheiden! Tabelle: Spalte A | Spalte B 12 | b 14 | a 23 | a 12 | b 34 | d 43 | e 54 | a 12 | a 14 | a 14 | a Ergebnis: Datensatz (12-b) 2x Datensatz (12-a) 1x Datensatz (14-a) 3x Datensatz (34-d) 1x u.s.w. Ich bekomm es einfach nicht hin, dass er mit die Datensätz zählt. Will ja nicht, dass er alle "a" oder alle "12" zusammenfasst! Kann mir jemand helfen! Danke im voraus |
SELECT spalteA, spalteB, COUNT( * ) AS amount FROM table JOIN table ON spalteA = spalteA AND spalteB = spalteB GROUP BY spalteA
so in etwa? |
Hab's mittlerweile selber rausgefunden :-)
Ersmal Danke Feuervogel! Weiß zwar nicht, ob dein query auch geht, aber trotzdem Danke.
Für alle die es interessiert: SELECT spalteA, spalteB, COUNT(spalteA) as number FROM table GROUP BY spalteA, spalte B ORDERED BY spalteA DESC Das ausschlaggebende war der Ausdruck: GROUP BY spalteA !!,!! spalteB |
Erweiterungsfrage (AW: Zählen gleicher Datensätze)
Hallo
ich hab da mal ne Erweiterungsfrage Der Befehl PHP-Code:
Beispielsweise dann 12. Diese 12 setzt sich bei mir dann allerdings aus 9 Festwerten und "3 leeren Werten" zusammen. Erläuterung. Manche Felder sind mit NULL gefüllt und manche sind halt leer. Diese leeren Felder werden in einer allgemeinen Abfrage zu den Festwerten dazugerechnet. Das soll so nicht sein. Kann mir jemand sagen, wie die Abfrage lauten muss, um nur die Festwerte zu counten? Als Festwert, die der User in die db Schreiben darf habe ich nur 3 verschiedene Werte, nämlich die Farben: Rot, Gruen, Blau. Normalerweise wird doch dafür geschrieben, PHP-Code:
Thx Franky |
AW: Zählen gleicher Datensätze
... WHERE `spalte` IS NOT NULL AND `spalte` != ''
so vielleicht? |
AW: Erweiterungsfrage (AW: Zählen gleicher Datensätze)
Zitat:
|
AW: Zählen gleicher Datensätze
Dank dir erstmal für den Lösungsversuch, es liegt immer noch an der Abfrage im allgemeinen.
Das Ding hier läuft problemlos, wenn alle Zeilen der Spalte entweder einen Festwert oder den Wert NULL haben. Ist eine Zelle jedoch leer, gibts den Fehler siehe unten. Hier erstmal das gesamte Konstrukt: PHP-Code:
"mysql_result(): supplied argument is not a valid MySQL result resource on line 10" Also ein Systaxproblem in Zeile 8 bei der Abfrage. ODer lieg ich da falsch? Wenn ich die Abfrage um deinen Vorschlag erweitere bekomme ich immer noch das falsche Ergebnis, wo die leeren Felder mit addiert werden. Bei mir ist grad eh Try and Error angesagt, aber das dauert halt und gebracht hats noch nicht das Erhoffte. Als Beispiel sieht die Spalte Farben übrigens so aus. Code:
Farbe Es gibt allerdings keine Chance, den Eintragsvorgang zu verändern, so dass leere Felder gar nicht erst entstehen können, daher muss das wohl über eine weitere Abfrage gemacht werden. Ich setz mich mal noch ne Weile hin, kann ja so schwierig nicht sein. Wenn mir trotzdem jemand noch die Syntax der Abfrage im genauen Wortlauf anbieten kann, nehm ich die natürlich ;-) Thx again Franky |
AW: Zählen gleicher Datensätze
was erhälst du für eine ausgabe, wenn du statt
$result = mysql_query($abfrage,$link); das schreibst: $result = mysql_query($abfrage,$link) or die( mysql_error() ); |
AW: Zählen gleicher Datensätze
Hallo Feuervogel,
ich habs jetzt nochmals reinkopiert und erweitert wie du geraten hast. Damit erhalte ich keine Fehlermeldung mehr und die Zahl (Ergebnis) stimmt. Wenn ich mir das aber so anschaue, kann das nur entweder ein Hochkommata oder ein anderer Tippfehler meinerseits gewesen sein... Hier mal das lauffähige vollständige Konstrukt für alle die sowas auch mal benötigen. PHP-Code:
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 11:10:45 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.