0
私は、タスクが非常に遅れている/遅れている/時間通りの時間に近い場合に返されるクエリを作成したいと考えています。フィールドをSQLで条件付きで返すことは可能ですか?
タスクのステータス:早期 場合は-2時間の日近く
場合-1日遅く
1日
は遅くならば2日間、私が試した何
を変える場合:
SELECT field_1, diff,
COUNT(CASE WHEN diff <= -2 THEN 1 END) onTime,
COUNT(CASE WHEN diff <= -1 THEN 1 END) nearOnTime,
Count(CASE WHEN diff >= 2 THEN 1 END) veryLate,
Count(CASE WHEN diff >= 0 THEN 1 END) Late
FROM(
SELECT field_1, DATEDIFF(day,Max(predicted_date), realization_date) as diff
FROM table
Group by field_1, realization_date
HAVING end_date is not null) as req1
GROUP BY field_1, diff)
diff:述語dこれら二つの日付
間の日の数を返し食べたと認識日 =>それは返します
field_1 | diff | onTime | nearOnTime | veryLate | Late
---------+--------+----------+--------------+------------+-------
task1 | -3 | 1 | 1 | 0 | 0
task2 | 2 | 0 | 0 | 1 | 1
を私は何があるかを返すタスクのステータスに私のオプションは、私のアプローチが悪いと思いますか?
パーフェクトはあなたに感謝!私はちょうどそれが自分自身をahah見つけた –