私はテーブルを持っています
ID|ユーザーID|開始|停止 1| 1| 1| 1 2| 2| 1| 1 3| 2| 1| 0 4| 3| 0| 0
次の結果を出したい
user_id|合計|開始|停止 1| 1| 1| 1 2| 2| 2| 1 3| 1| 0| 0
だから私は 3 カウントを作成し、user_id ang get でグループ化します。結合を使用し、派生テーブルを使用せずにクエリを準備することは可能ですか?
SELECT user_id,
Sum (start) AS start,
Sum (stop) AS stop,
Count(*) AS total
FROM tablename
GROUP BY user_id
SELECT user_id, COUNT(*) total, SUM(start=1) start, SUM(stop=1) stop
FROM my_table
GROUP BY user_id
start
1インチと1インチの行をstop
2回カウントするための合計行。
SELECT user_id,
count(case start WHEN 1 then 1 else null end) AS start,
count(case stop WHEN 1 then 1 else null end) AS stop,
count (*) AS total
FROM tablename
GROUP BY user_id