私はすぐに手伝ってください助けてください。
datetime
値を含む1つの列があります。
毎日の最小値と最大値を見つける必要があります。
データは次のようになります
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);