这是我的桌子
id , tiket_id , agency , problem
1 , 123 , 1 , x
2 , 123 , 1 , y
3 , 124 , 2 , z
我有一个查询,它根据代理向我提供表格的统计信息,基本上是几个计数和总和
SELECT COUNT(*) as total ,
SUM(CASE WHEN `agancy` = '1' THEN 1 ELSE 0 END) as ag_1
SUM(CASE WHEN `agancy` = '2' THEN 1 ELSE 0 END) as ag_2
但我希望具有相同ticket_id 的行只计算一次
例如,前两行具有相同的票号,它们实际上是一张票。
我可以为总数做到这一点
SELECT COUNT(distinct(ticket_id)) as total ,
我不知道该怎么做SUM
?我知道这行不通
SUM( DISTINCT ticket_id CASE WHEN `agancy` = '1' THEN 1 ELSE 0 END) as ag_1