我想创建一个查询,该查询返回当天每小时进入的潜在客户数量,以及每小时的销售数量。结果是24行,每天每小时1行。
我的查询适用于/或,但如何与一个查询结合使用?
表' mytable'是:
id datetime status
--------------------
这是总计查询:
SELECT FROM_UNIXTIME(datetime, '%H') AS Hour,
count(id) AS Count
FROM mytable
GROUP BY Hour
以及"出售":
的查询SELECT FROM_UNIXTIME(datetime, '%H') AS Hour,
count(id) AS Count
FROM mytable
WHERE status='Sold'
GROUP BY Hour
所以我希望结果返回看起来像这样的东西:
Hour Count Sold
----------------
0 5 2
1 4 0
2 9 6
.
.
.
.
23 6 1
我无法解决这个问题。
答案 0 :(得分:1)
在mysql中你可以使用sum和expression,它会产生boolean,这会给你一个销售状态的计数
SELECT
FROM_UNIXTIME(datetime, '%H') AS Hour,
COUNT(id) AS Count,
SUM(status='Sold' ) sold
FROM mytable
GROUP BY Hour
答案 1 :(得分:0)
试试
SELECT CASE WHEN status='Sold' THEN FROM_UNIXTIME(datetime, '%H') ELSE 0 END AS Hour,
,FROM_UNIXTIME(datetime, '%H') AS Hour2 ,count(id) AS Count
FROM mytable
GROUP BY Hour