にsimultanously '最大' の値を選択するSQLiteの私のsqliteのテーブルです:はここ2列
CREATE TABLE TEST
(ID INTEGER PRIMARY KEY NOT NULL,
DAY DATE NOT NULL,
HOUR TIME NOT NULL,
VALUE REAL NOT NULL,
COEF REAL)
マイ値:
║ DAY ║ HOUR ║ VALUE ║ COEF ║
║ '2016-01-19' ║ '16:00' ║ '11240.0' ║ '0.5'║
║ '2016-01-19' ║ '18:00' ║ '11244.0' ║ '0.2'║
║ '2016-01-22' ║ '20:30' ║ '11254.0' ║ '0.6'║
║ '2016-01-23' ║ '12:25' ║ '11256.0' ║ '0.8'║
║ '2016-01-23' ║ '14:40' ║ '11257.0' ║ '0.3'║
║ '2016-01-24' ║ '09:40' ║ '11259.0' ║ '0.4'║
║ '2016-01-24' ║ '19:45' ║ '11260.0' ║ '0.5'║
║ '2016-01-25' ║ '18:50' ║ '11263.0' ║ '0.6'║
║ '2016-01-26' ║ '18:40' ║ '11266.0' ║ '0.1'║
║ '2016-01-31' ║ '20:00' ║ '11278.0' ║ '0.9'║
║ '2016-01-31' ║ '22:00' ║ '11280.0' ║ '0.3'║
║ '2016-02-03' ║ '21:40' ║ '11285.0' ║ '0.4'║
║ '2016-02-05' ║ '10:10' ║ '11290.0' ║ '0.2'║
私は各 'WeekNumber' 'マックス(のために選択したいと思います(DAY) 'の最新の' HOUR 'に基づいて値を計算します。そのクエリは、その結果を取得
SELECT strftime('%Y-%m-%d', DAY, 'weekday 0') WeekNumber, MAX(DAY), HOUR,
MAX(VALUE), MAX(VALUE)-MIN(VALUE), COEF
FROM TEST
WHERE DAY >= '2016-01-19' AND DAY <= '2017-03-31'
GROUP BY WeekNumber
ORDER BY WeekNumber ASC
:
はこれまでのところ、私はこの要求していラインで、この結果で
║ "2016-01-24" ║ "2016-01-24" ║ "16:00" ║ "11260.0" ║ "20.0" ║ "0.5" ║
║ "2016-01-31" ║ "2016-01-31" ║ "18:50" ║ "11280.0" ║ "17.0" ║ "0.6" ║
║ "2016-02-07" ║ "2016-02-05" ║ "21:40" ║ "11290.0" ║ "5.0" ║ "0.4" ║
'を2016年1月24日' 'HOUR' コラム'16時'の値になりますが、私は'19時45分 'を取得する必要があります...私はその特定の先週の日の最新の時間を取得する必要があります。
(「HOUR = 22時」あるべき結果ライン「2016年1月31日」に関する同じ事、)
私はその仕事を持っている要求を進めることができますか?
(私がしたいと、それは週に最高の時間をもたらしますが、週の最新の日のために誰ので、私は "マックス(HOUR)の要求に使用することはできません)
感謝16 '、TEST(ID、DAY、HOUR、VALUE、COEF)VALUES(NULL INTO
INSERT、 '2016年1月19日':任意のアイデアもちろん
テストテーブルにデータを挿入するには、insert SQLを追加してください。 –