【问题标题】:MYSQL Select all where value is highestMYSQL 全选值最高的地方
【发布时间】:2013-05-04 08:59:51
【问题描述】:

在 MYSQL 查询中,如何选择值最高的所有行,例如:

SELECT      UNIX_TIMESTAMP(creation_date) AS `date`,
            release_version
FROM        content
WHERE       id = '1' 
ORDER BY    `date` DESC

这将输出例如:

注意:具有相同/不同release_version 的行数是可变的,因此我不能使用 LIMIT。

我只想选择release_version 最高的那些(在这种情况下为 3)

我该怎么做?谢谢。

【问题讨论】:

    标签: mysql


    【解决方案1】:

    这可能只是

    SELECT * 
    FROM   content
    WHERE  release_version = (SELECT MAX(release_version) FROM content)
    

    【讨论】:

      【解决方案2】:

      使用 HAVING 分句。

      SELECT      UNIX_TIMESTAMP(creation_date) AS `date`,
              MAX(`release_version`) as max,
      FROM        content
      WHERE       id = '1' 
      HAVING max > 3
      ORDER BY    `date` DESC
      

      编辑

      或者你可以使用

      SELECT      UNIX_TIMESTAMP(creation_date) AS `date`,
             `release_version` as max,
      FROM        content
      WHERE       id = '1' AND release_version = (SELECT MAX(`release_version`) FROM content WHERE id = '1')
      ORDER BY    `date` DESC
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-13
        • 1970-01-01
        相关资源
        最近更新 更多