私は週の各従業員の仕事を要約するクエリを取得しようとしています。例えば、John Doeは週に合計12枚のチケットを発行しました。そのうちの4枚はBreak/Fixesで、4枚はEnhancementで、もう1枚は未分類でした。SQLiteの要約クエリ
これは私がこれまで持っているものです。
ジョンDOE1 10 10 10 10 10 10
ジョンDOE2 2 2 2 2 2 2
:ここSELECT (users.first_name || ' ' || users.last_name) AS Name,
COUNT(tickets.id) AS 'Number of Tickets Closed',
COUNT(tickets.category = 'Maintenance') AS 'Maintenance Tickets',
COUNT(tickets.category = 'After Hours') AS 'After Hours Tickets',
COUNT(tickets.category = 'Break Fix') AS 'Break Fix Tickets',
COUNT(tickets.category = 'Enhancement') AS 'Enhancement Tickets',
COUNT(tickets.category = '') AS 'Non Categorized Tickets'
FROM tickets, users
ON tickets.assigned_to=users.id
WHERE (tickets.status = 'closed') AND
(tickets.closed_at >= '2011-07-16 00:00:00') AND
(tickets.closed_at <= '2011-07-22 23:59:59')
GROUP BY Name;
は、サンプルの結果であり、
ジョンDoe3 25 24 24 24 24 24
ジョンDoe4 2 2 2 2 2 2
ジョンDoe5 12 10 10 10 10 10
ジョンDoe6 7 7 7 7 7 7
このクエリは、私はすべての列と、それを予想通りかなりの仕事は(同じ合計を持っていません閉鎖されたチケットの総数は、次の列に分類された列のみが含まれているようです。
EDIT
ジャスト機能のコードを投稿したい:
SELECT (users.first_name || ' ' || users.last_name) AS Name,
COUNT(tickets.id) AS 'Number of Tickets Closed',
COUNT(case tickets.category when 'Maintenance' then 1 else null end) AS 'Maintenance Tickets',
COUNT(case tickets.category when 'After Hours' then 1 else null end) AS 'After Hours Tickets',
COUNT(case tickets.category when 'Break Fix' then 1 else null end) AS 'Break Fix Tickets',
COUNT(case tickets.category when 'Enhancement' then 1 else null end) AS 'Enhancement Tickets',
COUNT(case tickets.category when '' then 1 else null end) AS 'Non Categorized Tickets'
FROM tickets, users
ON tickets.assigned_to=users.id
WHERE (tickets.status = 'closed') AND
(tickets.closed_at >= '2011-07-16') AND
(tickets.closed_at <= '2011-07-22')
GROUP BY Name;
これはうまくいきました!どうもありがとうございます! – Bigun