MySQL双ORDER BY

时间:2014-02-06 16:02:19

标签: mysql sql-order-by multiple-columns

我有一个MySQL tablw,它将存储比赛参与者的信息。

结构如

id   +   user_id    +   marks     +   date_added
-----+--------------+-------------+----------------------
1    |   24         |    30       |  2014-02-06 03:04:08
-----+--------------+-------------+----------------------
1    |   25         |    10       |  2014-02-06 13:04:08
-----+--------------+-------------+----------------------
1    |   26         |    14       |  2014-02-06 05:04:08
-----+--------------+-------------+----------------------
1    |   27         |    54       |  2014-02-06 21:04:08

由此我需要找到一个胜利者。

即获得最大分数的获胜者。如果多个候选人有最大分数,那么它将是先到先得。

与数千个数据竞争很多

任何人都可以给我一个提示吗?

提前致谢

1 个答案:

答案 0 :(得分:9)

SELECT
    user_id
FROM
    `table name`
ORDER BY
    marks DESC, date_added ASC
LIMIT
    1

尽管替换table name