创建总计的MySQL / SQL select语句的最佳方法(计算'AS'列)?

时间:2017-08-30 03:52:21

标签: mysql select count case

我在查找如何在select语句中添加'AS'列时遇到了一些麻烦。

示例问题:

Select *,

count(case when column1 = 'yes' then (value +1) end) AS Column1Count,
count(case when column2 = 'yes' then (value +1) end) AS Column2Count,
(Column1Count + Column2Count) AS Column1and2TOTAL

From mytable

以上似乎不起作用,除非我创建一个包含先前“As”列初始条件的计数(案例)。

有更简单的方法吗?我的一些陈述变得相当复杂(而且看似不必要)。

1 个答案:

答案 0 :(得分:1)

尝试编辑您的查询,如下所示:

 Select Column1Count,
        Column2Count,
        (Column1Count + Column2Count) AS Column1and2TOTAL
 From (
       select count(case when column1 = 'yes' then (value +1) end) AS Column1Count, 
              count(case when column2 = 'yes' then (value +1) end) AS Column2Count 
       from  mytable) as subquery

这样可行。