有没有办法形成一个可以接受此问题的查询:
Id | action | object
-------------
1 | view | article1
2 | view | article2
3 | view | article1
4 | order | article1
5 | order | article1
6 | order | article3
并产生这个:
name | views | orders
----------------------
article1 | 2 | 2
article2 | 1 | 0
article3 | 0 | 1
一种解决方案是使用两个选择,然后在代码中将它们连接起来。还有更好的吗?
问候&& TIA
noircc
答案 0 :(得分:3)
也许是这样的:
SELECT
SUM(CASE WHEN Table1.action='view' THEN 1 ELSE 0 END) AS views,
SUM(CASE WHEN Table1.action='order' THEN 1 ELSE 0 END) AS orders,
Table1.object
FROM
Table1
GROUP BY
Table1.object