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 。谢谢了
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
唐城冬
2017-02-06 · 大家一起学习进步吧!!!
唐城冬
采纳数:915 获赞数:1815

向TA提问 私信TA
展开全部
把[到场时间]加到索引里,还有就是我不太明白你为什么这样写,最后不是还是只是数量吗?
追问
其实我就是想查询每个时间段的数据。 比如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
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式