私は MySQL から来て、SQL Server 2005 で T-SQL をコーディングしようとしていますが、まったく違うことがわかりました。
これが私がやりたいことです(MySQLを使用)
select sum(datapoint) as sum, date(mytimestamp) as date
from datalog
where datapoint = '27'
group by date
つまり、日付ごとに合計およびグループ化されたデータのリストを取得します。
私は MySQL から来て、SQL Server 2005 で T-SQL をコーディングしようとしていますが、まったく違うことがわかりました。
これが私がやりたいことです(MySQLを使用)
select sum(datapoint) as sum, date(mytimestamp) as date
from datalog
where datapoint = '27'
group by date
つまり、日付ごとに合計およびグループ化されたデータのリストを取得します。
SQLServer2008がタグ付けされたときの回答
select sum(datapoint) as [sum], CAST(mytimestamp AS DATE) as [date]
from datalog
where datapoint = '27'
group by CAST(mytimestamp AS DATE)
SQLServer2005の場合
SELECT CONVERT(VARCHAR(11), timestamp, 111) DATE,
SUM(datapoint) totalDatapoint
FROM table1
GROUP BY CONVERT(VARCHAR(11), timestamp, 111)
ORDER BY DATE ASC
varchar への変換は良い解決策ではありません。タイムスタンプから timepart を削除し、次のようにグループ化するだけです。
select sum(datapoint) as sum, dateadd(d, 0, datediff(d, 0, mytimestamp)) as date
from datalog
where datapoint = '27'
group by datediff(d, 0, mytimestamp)