0
を得ることができない選択:はMAX、MIN関数は、私は、このテーブルを持って正しい結果
: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
このクエリを使用すると、結果はNULLです。
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
私は何かを逃していますか?
あなたがやろうとしているかを説明してください。 –
私は最大値と最小値の発生時刻を取得する予定です –