0
我有這個表:在sqlite3的選擇最大值,最小值功能不能得到正確的結果
CREATE TABLE data (
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
channel INTEGER DEFAULT '0',
raw_Value REAL DEFAULT '0',
modify REAL DEFAULT '0'
);
我能得到正確的結果與此查詢
SELECT
(SELECT TIMESTAMP
WHERE value=
(SELECT max(value))) AS maxDate
FROM
(SELECT *,raw_value AS value
FROM DATA
WHERE TIMESTAMP>='2017-01-23 00:00:00'
AND TIMESTAMP<'2017-01-24 00:00:00'
AND channel=0);
結果是:
maxDate
-------------------
2017-01-23 16:47:00
但是當我使用這個查詢,那麼我有一個(空)結果
SELECT
(SELECT TIMESTAMP
WHERE value=
(SELECT max(value))) AS maxDate,
(SELECT TIMESTAMP
WHERE value=
(SELECT min(value))) AS minDate
FROM
(SELECT *,raw_value AS value
FROM DATA
WHERE TIMESTAMP>='2017-01-23 00:00:00'
AND TIMESTAMP<'2017-01-24 00:00:00'
AND channel=0);
結果是:
maxDate minDate
---------- -------------------
2017-01-23 12:32:00
當我使用這個詞,只需改變順序:
SELECT
(SELECT TIMESTAMP
WHERE value=
(SELECT min(value))) AS minDate,
(SELECT TIMESTAMP
WHERE value=
(SELECT max(value))) AS maxDate
FROM
(SELECT *,raw_value AS value
FROM DATA
WHERE TIMESTAMP>='2017-01-23 00:00:00'
AND TIMESTAMP<'2017-01-24 00:00:00'
AND channel=0);
現在我得到這樣的:
minDate maxDate
---------- -------------------
2017-01-23 16:47:00
做我錯過了什麼?
請解釋一下你正在嘗試做的。 –
我打算得到最大值和最小值的發生時間 –