tbl
A | B
A enthält viele Werte. B enthält nur 2 Werte.2 Gruppieren nach in einer einzigen Abfrage
ich die Daten als
a1 | count(b1) | count(b2)
a2 | count(b1) | count(b2)
....
an | count(b1) | count(b2)
tbl
A | B
A enthält viele Werte. B enthält nur 2 Werte.2 Gruppieren nach in einer einzigen Abfrage
ich die Daten als
a1 | count(b1) | count(b2)
a2 | count(b1) | count(b2)
....
an | count(b1) | count(b2)
Es sollte so einfach wie das erhalten möchten:
select
a,
count(case when b = b1 then 1 else null end) as b1,
count(case when b = b2 then 1 else null end) as b2
from tbl
group by a
der Hoffnung, verstand ich Ihr Problem richtig,
versucht, das gleiche zu erstellen Problem. Bitte beziehen Sie sich auf Anfragen.
Sqlfiddle Link für gleiche http://sqlfiddle.com/#!9/b557543/4/0
CREATE TABLE SO_TEST(
COL1 VARCHAR(100),
COL2 VARCHAR(100)
);
INSERT INTO SO_TEST VALUES('V1','Y');
INSERT INTO SO_TEST VALUES('V1','N');
INSERT INTO SO_TEST VALUES('V2','Y');
INSERT INTO SO_TEST VALUES('V2','N');
INSERT INTO SO_TEST VALUES('V3','Y');
INSERT INTO SO_TEST VALUES('V4','Y');
select col1 ,
count(case when col2='Y' then 1 end) y_cnt,
count(case when col2='N' then 1 end) n_cnt
from SO_TEST
group by col1;
Große Anstrengungen, um eine ziemlich schlechte Lösung für ein Problem zu bieten. –
@ O.Jones Danke – Tajinder
Bitte geben Datenabtastwert und erwartete Ausgabe. – GurV
A ist studentName. B ist isPresent. B kann Ja oder Nein sein. Ich möchte die Aufzeichnung von jedem A und Zählung (jedes B). –