sql查询UNION all 优化
selectCOUNT(1)as数量fromRegister[到场时间]>'07:30'and[到场时间]<='07:45'UNIONallselectCOUNT(1)a...
select COUNT(1) as 数量 from Register[到场时间]>'07:30' and [到场时间]<='07:45'UNION all
select COUNT(1) as 数量 from Register where [到场时间]>'07:45' and [到场时间]<='08:00'UNION all
select COUNT(1) as 数量 from Register where [到场时间]>'08:00' and [到场时间]<='08:15'UNION all
select COUNT(1) as 数量 from Register where [到场时间]>'08:15' and [到场时间]<='08:30................ 有很多条数据。 就是想查询每个时间段数据。 用 union all 查询 太慢了。 有没有大神帮忙写个快点的sql 。谢谢了 展开
select COUNT(1) as 数量 from Register where [到场时间]>'07:45' and [到场时间]<='08:00'UNION all
select COUNT(1) as 数量 from Register where [到场时间]>'08:00' and [到场时间]<='08:15'UNION all
select COUNT(1) as 数量 from Register where [到场时间]>'08:15' and [到场时间]<='08:30................ 有很多条数据。 就是想查询每个时间段数据。 用 union all 查询 太慢了。 有没有大神帮忙写个快点的sql 。谢谢了 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
把[到场时间]加到索引里,还有就是我不太明白你为什么这样写,最后不是还是只是数量吗?
追问
其实我就是想查询每个时间段的数据。 比如07:30到07:45;07:45 到 08:00的。以此类推。 就是想统计 从07:30开始 每15分钟的数据。
追答
SELECT SUM([7点45分数量]) FROM (
SELECT CASE WHEN [到场时间]>'07:45' and [到场时间]<='08:00' THEN 1 ELSE 0 END [7点45分数量] FROM Register
) t
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询