mysql 一组中的两个状态不同的计数?
Two counts with different status in one group in mysql?
SELECT services, COUNT( * ) AS Total_queue, COUNT( * ) AS balance_queue
FROM tqueue
WHERE STATUS IN ('8','4') and STATUS ('4')
AND get_tiket
BETWEEN '2016-11-10 00:00:01'
AND '2016-11-10 23:59:59'
GROUP BY services
但不工作,如果只有 1 个状态在工作
我想要 2 个结果 Total_queue 具有 2 个数字状态(8 和 4),但 balance_queue 只有一个状态 (4),
DATA TABLE
-----------------------------------
Total_queue | balance_queue
.-------------------------------------
___ 7 __ | ___5_____
-
total_queue 中的数量 7 由两个状态(8 和 4)产生
balance_queue 中的数量 5 由一个状态 ( 4 )
产生
注意:状态4表示正在排队----------------
状态 8 表示被调用
因为在 total_queue 中由所有状态(8 和 4)排队并调用。
你可以使用
SELECT services,
SUM( CASE WHEN STATUS IN ('8','4') THEN 1 ELSE 0 END ) AS Total_queue,
SUM( CASE WHEN STATUS = '4' THEN 1 ELSE 0 END ) AS balance_queue
FROM tqueue
WHERE STATUS IN ('8','4')
AND get_tiket BETWEEN '2016-11-10 00:00:01' AND '2016-11-10 23:59:59'
GROUP BY services
SELECT services, COUNT( * ) AS Total_queue, COUNT( * ) AS balance_queue FROM tqueue WHERE STATUS IN ('8','4') and STATUS ('4') AND get_tiket BETWEEN '2016-11-10 00:00:01' AND '2016-11-10 23:59:59' GROUP BY services
但不工作,如果只有 1 个状态在工作
我想要 2 个结果 Total_queue 具有 2 个数字状态(8 和 4),但 balance_queue 只有一个状态 (4),
DATA TABLE
-----------------------------------
Total_queue | balance_queue
.-------------------------------------
___ 7 __ | ___5_____
-
total_queue 中的数量 7 由两个状态(8 和 4)产生
balance_queue 中的数量 5 由一个状态 ( 4 )
注意:状态4表示正在排队----------------
状态 8 表示被调用
因为在 total_queue 中由所有状态(8 和 4)排队并调用。
你可以使用
SELECT services,
SUM( CASE WHEN STATUS IN ('8','4') THEN 1 ELSE 0 END ) AS Total_queue,
SUM( CASE WHEN STATUS = '4' THEN 1 ELSE 0 END ) AS balance_queue
FROM tqueue
WHERE STATUS IN ('8','4')
AND get_tiket BETWEEN '2016-11-10 00:00:01' AND '2016-11-10 23:59:59'
GROUP BY services