mysql 数据库操作问题
时间:2011-08-15
来源:互联网
有这样一个数据库表:
create table ab(
id int not null auto_increment,
aid int,
num int
) primary key(id);
表记录为:
'1', '1', '10'
'2', '2', '12'
'3', '3', '1'
'4', '1', '12'
'5', '2', '13'
'6', '3', '14'
'7', '4', '20'
'8', '1', '1'
'9', '2', '2'
'10', '3', '18'
'11', '5', '12'
现在需要统计不同aid的最大值,并求和
要求用hql实现
我是这样写的:select sum(max(num)) from `test`.`ab` group by(aid);
但报非法group funcation错误
不知道大家有什么好办法?
create table ab(
id int not null auto_increment,
aid int,
num int
) primary key(id);
表记录为:
'1', '1', '10'
'2', '2', '12'
'3', '3', '1'
'4', '1', '12'
'5', '2', '13'
'6', '3', '14'
'7', '4', '20'
'8', '1', '1'
'9', '2', '2'
'10', '3', '18'
'11', '5', '12'
现在需要统计不同aid的最大值,并求和
要求用hql实现
我是这样写的:select sum(max(num)) from `test`.`ab` group by(aid);
但报非法group funcation错误
不知道大家有什么好办法?
作者: chen_2001 发布时间: 2011-08-15
select sum() from ( select max(num) as num from ab group by aid) t;
作者: ACMAIN_CHM 发布时间: 2011-08-15
关键是需要用HQL编写,而且HQL不支持嵌套,只支持where子句查询
作者: chen_2001 发布时间: 2011-08-15
select sum(num) from ab t where not exists (select 1 from ab where aid=t.aid and num>t.num);
作者: ACMAIN_CHM 发布时间: 2011-08-15
引用楼主 chen_2001 的回复:
现在需要统计不同aid的最大值,并求和
要求用hql实现
我是这样写的:select sum(max(num)) from `test`.`ab` group by(aid);
但报非法group funcation错误
现在需要统计不同aid的最大值,并求和
要求用hql实现
我是这样写的:select sum(max(num)) from `test`.`ab` group by(aid);
但报非法group funcation错误
没用过 hql,sql 语法里 group by 不用括号的,带括号了认为是一个函数。hql 是有括号的?
作者: nicenight 发布时间: 2011-08-15
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28