代码之家  ›  专栏  ›  技术社区  ›  Clayton

在计数内选择

  •  26
  • Clayton  · 技术社区  · 15 年前

    我想在计数中嵌入SELECT,但找不到任何示例。

    #pseudosql
    SELECT a AS current_a, COUNT(*) AS b,
       COUNT( SELECT FROM t WHERE a = current_a AND c = 'const' ) as d,
       from t group by a order by b desc
    
    4 回复  |  直到 15 年前
        1
  •  41
  •   Justin K    15 年前

    SELECT a, COUNT(*) AS b,
       SUM( CASE WHEN c = 'const' THEN 1 ELSE 0 END ) as d,
       from t group by a order by b desc
    
        2
  •  26
  •   Ike Walker    15 年前

    您可以将count()移动到子选择中:

    SELECT a AS current_a, COUNT(*) AS b,
       ( SELECT COUNT(*) FROM t WHERE a = current_a AND c = 'const' ) as d,
       from t group by a order by b desc
    
        3
  •  1
  •   Femaref    15 年前

    使用 SELECT COUNT(*) FROM t WHERE a = current_a AND c = 'const' ) as d .

        4
  •  -1
  •   Jeroen    15 年前
    SELECT a AS current_a, COUNT(*) AS b,
       (SELECT COUNT(*) FROM t WHERE a = current_a AND c = 'const' ) as d
       from t group by a order by b desc