希望这是正确的术语。
实际上,我有一个在线sql数据库,中间的php链接回我的android应用程序
列包括User和Integer。它是按升序排序的,所以最高的整数在前面。
我想让每个用户都有一个排名,即顶部的人是1,2之后的人,本质上是独立的升序数字列表
要做到这一点,最好的方法是什么?我是必须向表中添加另一行,还是可以通过sql / php查询来实现此功能?
发布于 2016-03-25 18:32:07
只需在查询中使用rownum,不需要额外的行:
MySQL:
SELECT
t.*, @rownum := @rownum + 1 AS rank
FROM
users_table t,
(SELECT @rownum := 0) r
ORDER BY
t.`integer` DESCMSSQL和Oracle:
SELECT
t.*, ROW_NUMBER() OVER (ORDER BY t.`integer` DESC) AS rank
FROM
users_table t
ORDER BY
t.`integer` DESChttps://stackoverflow.com/questions/36218165
复制相似问题