我试图在同一列上对不同的where子句进行多次计数.
我已经找出了每个like子句的基本查询,但是我需要将它们组合起来产生一个结果.
select system_user, COUNT(details) from asset_log where details like 'Viewed';
select system_user, COUNT(details) from asset_log where details like 'Viewed Web%';
select system_user, COUNT(details) from asset_log where details like 'ThumbView';
select system_user, COUNT(details) from asset_log where details like 'Exported%';
Run Code Online (Sandbox Code Playgroud)
我确信它可能,我只是不知道该怎么做.任何帮助,将不胜感激.
提前致谢
更新:
结束了为我工作
select distinct system_user,
SUM(CASE WHEN details ='viewed' then 1 Else 0 end) AS viewed_count,
SUM(CASE WHEN details Like 'Viewed Web%' then 1 Else 0 end) AS Web_count,
SUM(CASE WHEN details = 'ThumbView' then 1 Else 0 end) AS ThumbView_count,
SUM(CASE WHEN details Like 'Exported%' then 1 Else 0 end) AS Exported_count
from asset_log GROUP BY system_user;
Run Code Online (Sandbox Code Playgroud)
谢谢!
您可以使用SUM/Case来"转动"计数
select system_user,
SUM(CASE WHEN details ='viewed' then 1 Else 0 end) viewed_count
SUM(CASE WHEN details Like 'Viewed Web%' then 1 Else 0 end) Viewed Web_count
SUM(CASE WHEN details = 'ThumbView' then 1 Else 0 end) ThumbView_count
SUM(CASE WHEN details Like 'Exported%' then 1 Else 0 end) Exported_count
from asset_log
where
details = 'viewed' or
details like 'Viewed Web%' or
details = 'ThumbView' or
details like 'Exported%'
group by
system_user
Run Code Online (Sandbox Code Playgroud)
注意:如果没有外卡,我不会费心使用"赞"