Hibernate的HQL查询Oracle数据库中的日期并且按照group by 拼接的日期分组。 10
我的数据库中有一张表,表中有一个字段是date类型的,并且在hibernate中该表的映射类为IncomeExpense其中该日期列的字段名映射为startdate,我构...
我的数据库中有一张表,表中有一个字段是date类型的,并且在hibernate中该表的映射类为
IncomeExpense 其中该日期列的字段名映射为startdate,我构造这样的查询语句:
select
sum(obj.money),year(obj.startdate),month(obj.startdate)
from IncomeExpense as obj
where 1=1
group by CONCAT(year(obj.startDate),'-',month(obj.startDate));
关键是最后的group by 语句,好像加上CONCAT这句是错误的。
我只是想要按照日期YYYY-MM的格式来分组就行了,只要能够实现就好了。
急求答案,毕业设计中的一个大问题啊!!!
谢谢各位啦!
我之前有过一条查询:
select
sum(obj.money),year(obj.startdate)
from IncomeExpense as obj
where 1=1
group by year(obj.startdate)
是按照YYYY格式分组的,所以我的目的是按照YYYY-MM格式分组,查询出year和month 展开
IncomeExpense 其中该日期列的字段名映射为startdate,我构造这样的查询语句:
select
sum(obj.money),year(obj.startdate),month(obj.startdate)
from IncomeExpense as obj
where 1=1
group by CONCAT(year(obj.startDate),'-',month(obj.startDate));
关键是最后的group by 语句,好像加上CONCAT这句是错误的。
我只是想要按照日期YYYY-MM的格式来分组就行了,只要能够实现就好了。
急求答案,毕业设计中的一个大问题啊!!!
谢谢各位啦!
我之前有过一条查询:
select
sum(obj.money),year(obj.startdate)
from IncomeExpense as obj
where 1=1
group by year(obj.startdate)
是按照YYYY格式分组的,所以我的目的是按照YYYY-MM格式分组,查询出year和month 展开
3个回答
展开全部
select
sum(t1.money),
t1.startYm
from (
select
obj.money as money,
concat(year(obj.startDate), '-', month(obj.startDate)) as startYm
from incomeExpense
) t1
where 1 = 1
groub by t1.startYm
sum(t1.money),
t1.startYm
from (
select
obj.money as money,
concat(year(obj.startDate), '-', month(obj.startDate)) as startYm
from incomeExpense
) t1
where 1 = 1
groub by t1.startYm
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-05-06
展开全部
要搞清楚,在使用Hibernate的时候,这样的语句是和Sql脚本的语法基本是一样的,有一点不一样的是sql脚本里是表的名称和字段名,而Hibernate中的查询语句是实体类(Entity)的类名。明白了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
group by obj.startdate
追问
我好想没说清楚我的目的,所以我又补充了问题,期待你的解决啊!
追答
只能group by select 出来的栏位, 那你把concat的成份的放到select后面也查询出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询