sql查询如何按每个小时查询那个时间段的总数

username|time|+-----------+---------------------+|12345|2014-06-2307:06:37||12345|201... username | time |
+-----------+---------------------+
|12345 | 2014-06-23 07:06:37 |
| 12345 | 2014-06-23 8:22:18 |
| 12345| 2014-06-23 9:24:11 |
| 12345 | 2014-06-23 11:28:37 |
|12345 | 2014-06-23 15:03:12 |
| 12345 | 2014-06-23 16:05:27 |
| 12345 | 2014-06-23 22:20:07 |
像上面的那张表,如何按时间段比如7点到8点,8点到9点,9点到10点,一天是24个时间段,一次性查询出来
展开
 我来答
百度网友faadf46
高粉答主

2020-05-05 · 说的都是干货,快来关注
知道答主
回答量:4556
采纳率:0%
帮助的人:74.1万
展开全部

1、新建JUnit test。

2、使用setUp()和tearDown()方法。

3、分别在两个方法中生成session,开启事务,提交事务和关闭session首先测试本地sql查询,即常用的sql语句通过session的createSQLQuery方法执行sql,并加载要查询的对象 。

4、带条件查询的方法,hibernate利用 :stuName的方式来占用SQL当中的参数,并通过query.setString("参数名","参数") 来进行赋值。

5、对应的查询结果。

badkano
2016-02-25 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885365
团长

向TA提问 私信TA
展开全部

用group by语句可以实现。

如test表中有如下数据:

要查出2月25号一天中每个小时的cnt的总和,可采用如下语句:

with t as
(select number rn from master..spt_values where type='P' and number<=23)
select t.rn 小时,SUM(isnull(cnt,0)) 数量 from t left join test on t.rn=cast(substring(CONVERT(varchar,begin_date,120),12,2)
as int) group by t.rn

查询结果:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
d_leo
2015-11-12 · TA获得超过245个赞
知道小有建树答主
回答量:297
采纳率:74%
帮助的人:126万
展开全部
利用job定时任务执行语句,定义执行间隔为1 小时,
查询条件为 年月日都等于当时的系统时间
字段的小时等于当前的小时 hour(字段)=hour(getdate())
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yinyan78
推荐于2017-09-22 · TA获得超过145个赞
知道小有建树答主
回答量:106
采纳率:100%
帮助的人:94.7万
展开全部
select datepart(hh,time), count(username)
from table
group by datepart(hh,time)
更多追问追答
追问
提示这个FUNCTION a.datepart does not exist
追答
你是用什么数据库啊?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式