bestimmte SQL Werte in einer einzelnen Zeile zählen

alexfrenzel92

SQL-Guru
Beiträge
122
Liebes Forum,

Ich hoffe, das Thema gibt es noch nicht, etc.

Wie kann ich die Anzahl eines bestimmten Werts in einer Zeile zählen (festgelegt durch eine Abfrage)

d.h.:
zähle alle Zellen der Abfrage 'SELECT * FROM bla WHERE Spalte1 = 8 LIMIT 1' die den Wert 3 enthalten
Tabelle bla besteht aus den Spalten (Spalte1-12). Das Ergebnis geht von 0-11. Kleinlicherweise, weil Spalte 1 Index ist und nicht gezählt werden soll.

Ich kenne bisher nur COUNT(1) wirklich gut aber das zählt nur die Spaltenanzahl

Vielen Dank!
 
Werbung:
ahh, suchst Du vielleicht sowas hier:

Code:
test=*# \d alexfrenzel
 Tabelle »public.alexfrenzel«
 Spalte |  Typ  | Attribute
--------+---------+-----------
 s1  | integer |
 s2  | integer |
 s3  | integer |
 s4  | integer |

test=*# select sum((case when s1=3 then 1 else 0 end) + (case when s2=3 then 1 else 0 end) + (case when s4=3 then 1 else 0 end) + (case when s4=3 then 1 else 0 end)) from alexfrenzel ;
 sum
-----
   
(1 Zeile)

Falls ja: dein Tabellendesign erscheint mir defekt.
 
Code:
Tabelle bla:
Spalte1 | Spalte2 | Spalte3 | Spalte4 | Spalte5 | Spalte6 | Spalte7 | Spalte8 | Spalte9 | Spalte10 | Spalte11 | Spalte12
1  |1  |1  |4  |1  |14 |6  |1  |5  |1  |15 | 3
2  |1  |1  |4  |12 |1  |6  |1  |5  |1  |15| 2
3  |1  |1  |3  |1  |1  |6  |4  |5  |4  |15| 5
...
8 |1  |4  |1  |1  |1  |6  |4  |5  |1  |15| 6

Das ergibt die Abfrage (SELECT * FROM bla)

Die Abfrage (SELECT * FROM bla WHER SPalte1 = 8) ergibt die rot markierte Zeile
Dort soll gezählt werden, die oft der Wert 4 vorkommt. Falls der Wert in 'Spalte 1' auch 4 ist, soll er nicht gezählt werden. In dem Beispiel würde das Ergebnis 2 sein

EDIT: Rot markieren geht in den CODE-Tags nicht, also die letzte Zeile (nach ...)
 
Die Abfrage (SELECT * FROM bla WHER SPalte1 = 8) ergibt die rot markierte Zeile
Dort soll gezählt werden, die oft der Wert 4 vorkommt. Falls der Wert in 'Spalte 1' auch 4 ist, soll er nicht gezählt werden.

Da ist zwar nix rot, aber ich denke, meine zweite Antwort ist das, was Du suchst. Das anzupassen an Deine konkreten Bedingungen überlasse ich Dir zur Übung. Und ja: ich denke, das Design ist kapott.
 
Zum einen deswegen, zum anderen scheinen ja die Spalten untereinander abhängig zu sein. Aber vielleicht verstehe ich nur Dein Gesamtkonzept nicht.
 
Werbung:
Zurück
Oben