[英]Select min(date), max(date) and group by day from one column - SQL
我很快就疯了,请帮忙。
我有一列包含datetime
值。
我需要每天找到最小值和最大值。
数据看起来像这样
2012-11-23 05:49:26.000
2012-11-23 07:55:43.000
2012-11-23 13:59:56.000
2012-11-26 07:51:13.000
2012-11-26 10:23:31.000
2012-11-26 10:25:09.000
2012-11-26 16:22:22.000
2012-11-27 07:30:03.000
2012-11-27 08:53:47.000
2012-11-27 10:40:55.000
到目前为止这是尝试过的
select distinct(convert(nvarchar, datum, 112)), min(datum), max(datum)
from myTable
但是当我
Group by
我对所有3列进行分组......
我似乎没有努力将我的第一个选择设置为ColName和Group
这就是我要的
20121123 | 2012-11-23 05:49:26.000 | 2012-11-23 13:59:56.000
20121126 | 2012-11-26 07:51:13.000 | 2012-11-26 16:22:22.000
20121127 | 2012-11-27 07:30:03.000 | 2012-11-27 10:40:55.000
转换GROUP BY
的列也是如此。
select
min(datum), max(datum), CONVERT(varchar(8), datum, 112)
from
dateTable
group by
CONVERT(varchar(8), datum, 112)
这是一个小提琴
以下是日期的转换值列表 。 (在这种情况下,我为你选择了112)
在SQL Server 2008+中,您可以使用date
数据类型而不是转换为字符串:
select cast(datum as date), min(datum), max(datum)
from myTable
group by cast(datum as date);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.