我正在尝试使用Mongo进行一些测试,我已经找到了一些更简单的MySQL查询Mongo等价物。MongoDB - MySQL SUM(CASE WHEN)等价吗?
我有这个疑问这是一个有点复杂,我需要帮助...
SELECT DISTINCT dims_user,
COUNT(DISTINCT asset_name) AS asset_count,
COUNT(DISTINCT system_name) AS station_count,
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,
SUM(CASE WHEN details Like '%Print%' then 1 Else 0 end) AS Printed_count
FROM asset_log GROUP BY dims_user;
呃......这不是很好的关系练习......“细节”列中的数据应该标准化 - 对于NoSQL db设计也是如此,column:action =(view | web | thumb | export | print),那么你只需切换到一个组。 – Rudu
它的一堆日志文件,我刚刚得到了什么有32万条记录 – rreeves
然后[ETL](http://en.wikipedia.org/wiki/Extract,_transform,_load)它一次(如果它是静态的 - 或建立一个加载/转换过程用于重复加载),以便它被标准化。这将大大简化你想要做的事情。 – Rudu