SQL Server表中按天计算的分钟数总和
我目前在Microsoft SQL Server管理工作室工作。我有两张桌子<代码>表1由SQL Server表中按天计算的分钟数总和,sql,sql-server,date,group-by,sum,Sql,Sql Server,Date,Group By,Sum,我目前在Microsoft SQL Server管理工作室工作。我有两张桌子表1由PartNumberasvarchar,Timeassmalldatetime,Table2由Minutesasfloat,PartNumberasvarchar和Sequenceasint组成 我试图按天计算分钟数,每天有多个条目,它们有一个时间戳,其中包括一天中的时间。我试图列出一个日期范围内的所有日期,它将显示每天的总分钟数 这是我的密码: SELECT Sum([MINUTES]) as total, Ti
PartNumber
asvarchar
,Time
assmalldatetime
,Table2
由Minutes
asfloat
,PartNumber
asvarchar
和Sequence
asint
组成
我试图按天计算分钟数,每天有多个条目,它们有一个时间戳,其中包括一天中的时间。我试图列出一个日期范围内的所有日期,它将显示每天的总分钟数
这是我的密码:
SELECT Sum([MINUTES]) as total, Time from Table1 left join
Table2 on
Table1.PartNumber + '-' = Table2.PART_NUMBER
WHERE sequence = 25 AND [MINUTES] > 30 And partNumber IS NOT NULL
group by Time
此代码显示每个行项目。例如,我可能有3个日期“2015-04-22”的条目,但我的时间戳是“2015-04-22 13:42:00”、“2015-04-22 10:21:00”和“2015-04-22 13:21:00”。我需要代码添加“2015-04-22”中所有条目的小步舞曲,然后显示我可以更改的时间总量。使用如下方式:
SELECT
SUM([MINUTES]) AS total,
CONVERT(CHAR(8), Time, 112) AS Time
FROM
Table1
LEFT JOIN
Table2
ON Table1.PartNumber + '-' = Table2.PART_NUMBER
WHERE
sequence = 25
AND [MINUTES] > 30
And partNumber IS NOT NULL
GROUP BY
CONVERT(CHAR(8), Time, 112)
请记住,如果您希望部件的总时间大于30分钟,则需要将其移动到<代码>HAVING子句中。
112
指定ISO日期格式,例如20150515。只需将日期时间列转换为一个日期,并将其包含在您的分组中。您能给我一个转换日期时间的链接吗?转换(您的日期时间列为日期)如何将我的日期格式设置为YY-MM-DD并剪切实际时间戳?您熟悉BOL(联机丛书)吗?这是sql server的文档。我建议不要在sql中格式化,而是在前端进行格式化。请不要将转换功能应用于:sql Server(sql Server 2008通过当前版本)、Azure sql数据库。这太完美了!!很抱歉在回复中等待了很长时间,我工作很忙,然后在我回到代码之前,周末就来了。非常感谢!没问题。很乐意帮忙!