仅在某些情况下才如何分组和求和?

时间:2018-09-06 04:21:52

标签: mysql

仅当方法字段中包含“ PART”时,才需要获取已发布字段的SUM。这里发布的是布尔值,方法是varchar。

在同一查询中还选择了其他字段,因此无法将条件移至where子句。

这是我现在所拥有的,但似乎不起作用。

# sum of posted
SELECT 
    SUM(CASE
        WHEN method = 'PART%' THEN posted
    END) AS posted_in_background
FROM
    matches_20180905171033
GROUP BY code
ORDER BY method;

编辑:向查询添加了GROUP BY和ORDER BY条件

这是我得到的结果

demo app

当我执行普通选择时,该列的值非零

SELECT 
    posted
FROM
    matches_20180905171033;

Result set

3 个答案:

答案 0 :(得分:0)

只要有人遇到相同的问题,使用std::thread而不是like就可以解决。

=

答案 1 :(得分:0)

这个怎么样-

SELECT 
    SUM(CASE
        WHEN method like 'PART%' THEN posted
    END) AS posted_in_background
FROM
    matches_20180905171033
GROUP BY code
ORDER BY method;

答案 2 :(得分:0)

使用 WHEN method like 'PART%' 代替 WHEN method = 'PART%'