求MySql的Sql语句,通过自己的ID查询自己的积分在所有积分中的排名

最后返回个数字就行,就是排名的名次求大神们帮忙解决一下表名是user,有ID、Name和pointsMySql数据库。。。要是换成Hql语句怎么写?最主要的是Hql语句。... 最后返回个数字就行,就是排名的名次
求大神们帮忙解决一下
表名是 user ,有ID 、Name和points
MySql数据库。。。

要是换成Hql语句怎么写?
最主要的是Hql语句。。

谢谢了。。。
展开
 我来答
匿名用户
2013-01-28
展开全部
HQL 不会。

只有 SQL 语句的例子。
你参考一下看看, 不知道能不能修改了。

MySQL 不直接支持 ROWNUM 函数。
需要用替代方法。

SELECT
@rownum:=@rownum+1 AS NO,
student_name,
AllGrade
FROM
(SELECT @rownum:=0) r,
(SELECT
student_name,
SUM(grade) AS AllGrade
FROM
test_course
GROUP BY
student_name
) SubQuery
ORDER BY
AllGrade DESC;

+------+--------------+----------+
| NO | student_name | AllGrade |
+------+--------------+----------+
| 1 | 甲 | 185 |
| 2 | 奎 | 185 |
| 3 | 壬 | 165 |
| 4 | 乙 | 165 |
| 5 | 丙 | 145 |
| 6 | 辛 | 140 |
| 7 | 丁 | 125 |
| 8 | 庚 | 120 |
| 9 | 戊 | 105 |
| 10 | 己 | 100 |
+------+--------------+----------+
10 rows in set (0.00 sec)

上面这个 NO 就是 排名
百度网友4b68195
2013-01-28 · TA获得超过1520个赞
知道大有可为答主
回答量:1773
采纳率:100%
帮助的人:1717万
展开全部
HQL
select count(a.id) from user a where a.points>(select b.points from user b where b.id=自己的ID)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
草帽专家
2013-01-28
知道答主
回答量:42
采纳率:0%
帮助的人:14.8万
展开全部
一定要用hql吗?
追问
是啊 ,我也在纠结呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式