在不同行上显示最小值和最大值

问题描述 投票:0回答:1

这是我正在使用的桌子

长度 日期
1 2012-10-01 10:56
10 2012-10-1 09:56
8 2012-11-03 05:34
15 2012-11-03 06:21
3 2012-11-03 01:10
6 2012-10-01 03:21

我想要它显示

长度 日期
1 2012-10-01 10:56
10 2012-10-1 09:56
3 2012-11-03 01:10
15 2012-11-03 06:21

因此,对于每个不同的日子,获取最小值最大值并将它们显示在不同的行上。

我尝试了一些不同的方法,但我得到的收盘价只是显示最小值最大值,无论哪一天。

SELECT * FROM t
WHERE length
IN (SELECT MIN(length) FROM t), (SELECT MAX(length) FROM t));
sql sqlite
1个回答
0
投票

使用

DATE(date)
忽略每个日期时间的时间部分。另外,似乎您需要在
0
中插入
2012-10-1
才能使其可供 SQLite 解析。

SELECT MIN(length), date FROM t
GROUP BY DATE(date)
UNION
SELECT MAX(length), date FROM t
GROUP BY DATE(date);

但是将最大值保留在与最小值不同的列中更有意义:

SELECT MIN(length), MAX(length), date FROM t
GROUP BY DATE(date);
© www.soinside.com 2019 - 2024. All rights reserved.