两个COUNT到一个SELECT

时间:2013-04-05 10:42:28

标签: sql count

您能告诉我如何将这两个COUNT合并为一个选择吗?

/*Pocet treninku ucast*/
SELECT Jmeno, COUNT(Ucast)
FROM Hraci 
INNER JOIN Ucast_trenink2 ON Ucast_trenink2.ID_hrace_ucast=Hraci.IDHrace 
INNER JOIN Seznam_treninku ON Seznam_treninku.ID_treninku=Ucast_trenink2.ID_treninku_ucast 
INNER JOIN Kategorie ON Kategorie.IDkategorie=Seznam_treninku.Kategorie 
WHERE (Ucast='TRUE')AND(Kategorie.IDkategorie = 1) AND Datum >= '1/1/2013' AND Datum < '9/1/2014'
GROUP BY Jmeno;
/*Pocet treninku neucast*/
SELECT Jmeno, COUNT(Ucast)
FROM Hraci 
INNER JOIN Ucast_trenink2 ON Ucast_trenink2.ID_hrace_ucast=Hraci.IDHrace 
INNER JOIN Seznam_treninku ON Seznam_treninku.ID_treninku=Ucast_trenink2.ID_treninku_ucast 
INNER JOIN Kategorie ON Kategorie.IDkategorie=Seznam_treninku.Kategorie 
WHERE (Ucast='FALSE')AND(Kategorie.IDkategorie = 1) AND Datum >= '1/1/2013' AND Datum < '9/1/2014'
GROUP BY Jmeno;

非常感谢

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容:

SELECT
    Jmeno,
    SUM(CASE WHEN Ucast = 'False' then 1 end) as count_false,
    SUM(CASE WHEN Ucast = 'True' then 1 end) as count_true
FROM ...
WHERE (Kategorie.IDkategorie = 1) AND Datum >= '1/1/2013' AND Datum < '9/1/2014'
GROUP BY Jmeno;