簡體   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