我有一个包含日期和一些文本的表 - 我正在寻找其中特定字符串的计数。例如:
myDate, Text
2016-06-27, Cat food
2016-06-27, Dog toy
2016-06-27, Dog food
像
这样的东西select myDate, sum(if text rlike 'Dog', 1, 0) dog_count
, sum(if text rlike 'Cat', 1, 0) cat_count
from blah
将返回2行:
myDate, dog_count, cat_count
2016-06-27, 2, 0
2016-06-27, 0, 1
有没有办法在同一行中同时选择dog_count和cat_count?
myDate, dog_count, cat_count
2016-06-27, 2, 1
答案 0 :(得分:3)
查询缺少group by
。只需添加它即可在给定日期的某一行获得结果。
select myDate
, sum(if text rlike 'Dog', 1, 0) dog_count
, sum(if text rlike 'Cat', 1, 0) cat_count
from blah
group by myDate