我来自MySQL并试图在SQL Server 2005上编写T-SQL代码,我发现它完全不同。
这是我想要做的事情(使用MySQL)
select sum(datapoint) as sum, date(mytimestamp) as date
from datalog
where datapoint = '27'
group by date
即。获取按日期汇总和分组的数据列表。
答案 0 :(得分:1)
<击> 撞击>
<击>在标记sql server 2008时回答
select sum(datapoint) as [sum], CAST(mytimestamp AS DATE) as [date]
from datalog
where datapoint = '27'
group by CAST(mytimestamp AS DATE)
击> <击> 撞击>
对于SQL Server 2005
SELECT CONVERT(VARCHAR(11), timestamp, 111) DATE,
SUM(datapoint) totalDatapoint
FROM table1
GROUP BY CONVERT(VARCHAR(11), timestamp, 111)
ORDER BY DATE ASC
答案 1 :(得分:0)
转换为varchar不是一个好的解决方案,只需从时间戳中删除时间部分,然后将其分组:
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)