これは私のテーブルです
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 を持つ行を 1 回だけカウントしたい
たとえば、最初の 2 行は同じチケット ID を持ち、実際には 1 つのチケットです。
私は合計数のためにこれを行うことができます
SELECT COUNT(distinct(ticket_id)) as total ,
のためにこれを行う方法がわかりませんかSUM
?私はこれがうまくいかないことを知っています
SUM( DISTINCT ticket_id CASE WHEN `agancy` = '1' THEN 1 ELSE 0 END) as ag_1