我有一个名为users
的表格,其中有一列名为money_sent
。我想按照money_sent
列进行降序排序,并找出特定用户的“排名”。
例如,只有111个人比用户12392花费更多的钱,因此他们的排名是112。
我该如何查询这个信息?
我有一个名为users
的表格,其中有一列名为money_sent
。我想按照money_sent
列进行降序排序,并找出特定用户的“排名”。
例如,只有111个人比用户12392花费更多的钱,因此他们的排名是112。
我该如何查询这个信息?
试试这个:
SELECT count(*) FROM users WHERE money_sent < (
SELECT money_sent FROM users WHERE user = 'joe'
);
SELECT Row,user, money_sent
FROM (SELECT @row := @row + 1 AS Row, user, money_sent
FROM table1 order by money_sent desc)
As derived1
SELECT u1.*, COUNT(u2.user)
FROM users u1
LEFT OUTER JOIN users as u2 ON (u1.money_sent < u2.money_sent)
GROUP BY u1.user;