ich die Daten wie folgt haben:SQL Fall zwei Bedingungen zwei Spalten
"Table" Computerdaten
date | property | computer code
---------- -------- -----------
20160131 | companyA | 256584
20160131 | companyB | 987451
zu etc
20171020 | companyA | 157489
Ich möchte die Anzahl zählen Computer in jedem Unternehmen nach 2017-Sep, so verwende ich:
select
computer data
, count (case computer code when property='companyA' and date='20171001' then 1 else 0 end) as CMAnumber
, count (case computer code when property='companyB' and date='20171001' then 1 else 0 end) as CMBnumber
from
[data]
group by
computer data
order by
computer data
aber es funktioniert nicht ...
bitte helfen !!
Ich benutze SQL Server 2014 Management Studio. und die Datenbank von der Firma System
und ich möchte zeigen, es wie
date | CMAnumber | CMBnumber
20171001 | 200 | 210
20171002 | 230 | 207
ETC
leid, dass ich ein frisches auf SQL TT
Pflege zu erarbeiten über „aber es nicht“ eine Kombination aus Unterabfrage und Gruppe tun? Erhalten Sie einen Fehler? Die falschen Ergebnisse? – Mureinik
'COUNT()' zählt alle Nicht-Null-Werte, d.h. sowohl 1 als auch 0 werden gezählt. Tun Sie stattdessen 'SUM()'. – jarlh
oder verwenden COUNT() zu zählen, nur füttern es NULL, wenn das erforderlich ist –