1

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)

これどうやってするの?ありがとう。

4

2 に答える 2

4

これは単純に次のようになります

SELECT * 
FROM   content
WHERE  release_version = (SELECT MAX(release_version) FROM content)
于 2013-05-04T09:05:47.013 に答える
1

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
于 2013-05-04T09:01:20.530 に答える