sql >> データベース >  >> RDS >> Mysql

Mysqlグループからの注文結果

    • JOINの使用

    およびGROUP BYを使用したクエリ すべてのカテゴリの最大IDを取得するには(すべてのカテゴリの最大IDの行が必要だと思いますよね?)

    SELECT e.id
         , e.title
         , e.created
         , e.updated
         , e.category
         , e.content
    FROM entries e
    JOIN
        ( SELECT max(id) AS maxid
          FROM entries
          GROUP BY category
        ) AS cat
    ON e.id = cat.maxid
    
    • INの使用

    そして、すべてのカテゴリの最大IDを取得するためのクエリ

    SELECT id
         , title
         , created
         , updated
         , category
         , content
    FROM entries
    WHERE id IN
        ( SELECT max(id)
          FROM entries
          GROUP BY category
        )
    
    • 任意の使用

    および相関サブクエリ

    SELECT e.id
         , e.title
         , e.created
         , e.updated
         , e.category
         , e.content
    FROM entries e
    WHERE e.id >= ANY
        ( SELECT cat.id
          FROM entries cat
          WHERE e.category = cat.category
        )
    
    • NOTEXISTSの使用

    および相関サブクエリ

    SELECT e.id
         , e.title
         , e.created
         , e.updated
         , e.category
         , e.content
    FROM entries e
    WHERE NOT EXISTS
        ( SELECT 1
          FROM entries cat
          WHERE cat.id > e.id
            AND e.category = cat.category
        )
    


    1. PHPとMySqlでのアップロードサイズの問題

    2. MySQLで1時間ごとにデータを取得する方法

    3. MySQLレプリケーションを使用したライブマイグレーション

    4. SQL Serverインデックスの後方スキャン:理解とパフォーマンスの調整