繁体   English   中英

从一列中选择min(date),max(date)和group by-SQL

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM