Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

habe ein Problem mit meiner MySQL-DB, und zwar möchte ich die Anzahl der Werte haben, die in zwei unterschiedlichen Feldern stehen, aber irgendwie hab ich da wohl nen Denkfehler.

Mein bisheriger Versuch war

SELECT COUNT(bla) AS bla, COUNT(blub) AS blub FROM blabla

aber das geht leider nicht, bei blub stehen immer noch die Werte von bla drin.

Kann mir jemand helfen?

Danke und viele Grüße,

-etops-

Geschrieben

Naja, mir geht es eigentlich um folgendes.

In drei nebeneinanderliegenden Feldern wird etwas berechnet und im vierten hätte ich gerne die Summe davon automatisch drinstehen (aber das passiert eben neunmal.

Beispiel:


SUM(IF(blabla1 BETWEEN '1' AND '10',1,0)) AS blabla1,

SUM(IF(blabla2 BETWEEN '1' AND '10',1,0)) AS blabla2,

SUM(IF(blabla3 BETWEEN '1' AND '10',1,0)) AS blabla3,

SUM(blabla1 + blabla2 + blabla3)

Das funktioniert leider nicht richtig. Deswegen kam ich auf COUNT...

Geschrieben

Das funktioniert leider nicht richtig

Das ist keine ausreichende Fehlerbeschreibung. Mysql kann die errors schon ganz gut beschreiben. Wie ist die Fehlermeldung ?

Geschrieben

Es gibt keine Fehlermeldung, sondern die Werte werden einfach nicht addiert (je nachdem ob ich blabla in Hochkomma setze oder nicht enthält das Summenfeld den Wert 0 oder die Werte aus dem ersten COUNT werden mit 27 multipliziert (warum auch immer)...

Überlegung zur Multiplikation: sind ja drei Felder, die addiert werden sollen - irgendwas läuft da schief, denn 3³ ist ja 27. Nur wieso, weshalb, warum ist das so?? Ich steh leider auf dem Schlauch.

Geschrieben

Ich hab das Problem zwar noch nicht ganz verstanden, aber evtl. hilft dir ja ein Inner-Select weiter:


Select Erg1 + Erg2 + Erg3 as Summe From 

(Select Count(bla1) as Erg1 From Bla) , 

(Select Count(bla2) as Erg2 From Bla), 

(Select Count(bla3) as Erg3 From Bla) Order by Summe

Auch ungeprüft

Geschrieben

So, ich hab es jetzt hinbekommen:

mit


((SUM(IF(blabla1 BETWEEN 10 AND 19,1,0))) + 

(SUM(IF(blabla2 BETWEEN 10 AND 19,1,0))) + 

(SUM(IF(blabla3 BETWEEN 10 AND 19,1,0)))) AS Summe

klappt es.

Danke für Eure Hilfe!

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...