【问题标题】:mysql query for high values in tablemysql查询表中的高值
【发布时间】:2013-07-11 16:59:57
【问题描述】:

我在results 表中有以下数据:

+-----+-----+-----+------+-----+--+ |一个 |乙| C | D | E | F | +-----+-----+-----+------+-----+--+ | 100 | 140 | 120 | 130 | 160 | 150 | | 200 | 243 |第374章435 |第674章987 | | 312 | 324 | 123 |第456章378 |第645章 +-----+-----+-----+------+-----+--+

什么样的SELECT 语句可以让我从结果表中获得最高的 5 个值?

【问题讨论】:

    标签: mysql distinct-values highest


    【解决方案1】:

    什么样的SELECT 语句可以让我从结果表中获得最高的 5 个值?

    每列都被同等对待这一事实表明您的架构是非规范化的。如果对数据进行规范化,从而合并列(但会创建一个额外的列来指示每条记录源自哪一列),则此操作将大大简化。

    但是,就目前而言,您可以使用UNION

      (SELECT A col FROM results ORDER BY col DESC LIMIT 5)
    UNION ALL
      (SELECT B col FROM results ORDER BY col DESC LIMIT 5)
    UNION ALL
      (SELECT C col FROM results ORDER BY col DESC LIMIT 5)
    UNION ALL
      (SELECT D col FROM results ORDER BY col DESC LIMIT 5)
    UNION ALL
      (SELECT E col FROM results ORDER BY col DESC LIMIT 5)
    UNION ALL
      (SELECT F col FROM results ORDER BY col DESC LIMIT 5)
    ORDER BY col DESC
    LIMIT    5
    

    sqlfiddle 上查看。

    【讨论】:

    • 非常感谢!!!它正在工作。有没有办法获取值旁边的列名??
    • 谢谢!这正是我想要做的。
    猜你喜欢
    • 2010-11-08
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 2012-10-27
    • 2019-10-09
    • 2016-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多