【问题标题】:SELECT with Different WHERE Conditions选择不同的 WHERE 条件
【发布时间】:2012-07-29 13:28:03
【问题描述】:

我想运行一个这样的选择。

SELECT
        COUNT(*) WHERE switch=0 AND detail=1 AS zeroone
    AND
        COUNT(*) WHERE switch=0 AND detail=2 AS zerotwo
    AND
        COUNT(*) WHERE switch=1 AND detail=1 AS oneone
    AND 
        COUNT(*) WHERE swithc=1 AND detail=2 AS onetwo
  FROM tablename

有没有办法做到这一点?

【问题讨论】:

    标签: sql select where


    【解决方案1】:

    你为什么不用这个?

    SELECT COUNT(*) 
      FROM tablename
     GROUP BY switch, detail
    

    【讨论】:

      【解决方案2】:

      不清楚你想要什么。

      我想你想要一个选择,它返回一行,有 4 列:

      SELECT
      COUNT(*) WHERE switch=0 AND detail=1 AS zeroone,
      COUNT(*) WHERE switch=0 AND detail=2 AS zerotwo,
      COUNT(*) WHERE switch=1 AND detail=1 AS oneone,
      COUNT(*) WHERE swithc=1 AND detail=2 AS onetwo
      FROM tablename
      

      【讨论】:

        【解决方案3】:

        您可以在SELECT 中使用CASE 语句来获取结果:

        SELECT SUM(case when switch=0 AND detail=1 then 1 else 0 end) as zeroone
            , SUM(case when switch=0 AND detail=2 then 1 else 0 end) as zerotwo
            , SUM(case when switch=1 AND detail=1 then 1 else 0 end) as oneone
            , SUM(case when switch=1 AND detail=2 then 1 else 0 end) as onetw
        FROM tablename
        

        【讨论】:

          【解决方案4】:
          SELECT
              sum(switch=0 AND detail=1) AS zeroone,
              sum(switch=0 AND detail=2) AS zerotwo,
              sum(switch=1 AND detail=1) AS oneone,
              sum(switch=1 AND detail=2) AS onetwo
          FROM tablename
          

          【讨论】:

            【解决方案5】:
            SELECT SUM(CASE WHEN switch = 0 and detail = 1 THEN 1 ELSE NULL END) AS zeroone
                 , ...
            FROM TableName
            

            【讨论】:

              猜你喜欢
              • 2011-03-31
              • 1970-01-01
              • 2013-12-25
              • 2012-04-10
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-09-14
              相关资源
              最近更新 更多