0
我有這個查詢,其中我想要做的是如果id和值爲null,它將只顯示值0.111上的行是空值。檢查是否存在行,如果它不輸出具體的值
SELECT FROM_UNIXTIME(t_stamp/1000, '%m/%d/%Y %l:%i %p') as t_stamp,
ROUND(MAX(
CASE
WHEN id = "731" AND value IS NULL THEN 0.11
WHEN id = "731" THEN value
END
),3
) as Val1,
ROUND(MAX(
CASE
WHEN id = "732" AND value IS NULL THEN 0.11
WHEN id = "732" THEN value
END
),3
) as Val2
FROM table1
WHERE id IN ("731", "732") and
from_unixtime(t_stamp/1000) BETWEEN "2014-11-01 09:00:00" AND "2014-11-01 12:00:00"
GROUP BY DATE(from_unixtime(t_stamp/1000)), HOUR(from_unixtime(t_stamp/1000)), MINUTE(from_unixtime(t_stamp/1000)) DIV 1
我一直在這個努力了幾次,它不工作,原因是,當我檢查了數據庫,問題是該行不爲空,之所以它不是後的第一個「何時」是因爲該行不存在。
的數據看起來像這樣
| t_stamp | Val1 | Val2 |
| 11/01/2014 9:00 AM | 0.022 | 0.044 |
| 11/01/2014 9:01 AM | 0.023 | 0.045 |
| 11/01/2014 9:02 AM | 0.022 | 0.044 |
| 11/01/2014 9:03 AM | 0.022 | 0.044 |
| 11/01/2014 9:04 AM | 0.022 | 0.044 |
| 11/01/2014 9:05 AM | NULL | 0.046 |
| 11/01/2014 9:06 AM | 0.023 | 0.040 |
沒有一行9:05 AM。這是我所期待的輸出:
| t_stamp | Val1 | Val2 |
| 11/01/2014 9:00 AM | 0.022 | 0.044 |
| 11/01/2014 9:01 AM | 0.023 | 0.045 |
| 11/01/2014 9:02 AM | 0.022 | 0.044 |
| 11/01/2014 9:03 AM | 0.022 | 0.044 |
| 11/01/2014 9:04 AM | 0.022 | 0.044 |
| 11/01/2014 9:05 AM | 0.11 | 0.046 |
| 11/01/2014 9:06 AM | 0.023 | 0.040 |
我檢查了ID 731 VAL並沒有一個單獨的具有隻是ID選擇,發現有一個爲時間9:05 AM排不出,但732有是。
這可能沒有實際上做一個INSERT,只是輸出0.11值?
謝謝!它的工作現在!真棒真棒真棒! – hocuspocus31 2014-11-22 00:11:58