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

MySQLの他のいくつかの列と一緒に個別の列を選択します

    サブクエリを使用すると、最高のidを取得できます 名前ごとに、それに基づいて残りの行を選択します。

    SELECT * FROM table
    WHERE id IN (
      SELECT MAX(id) FROM table GROUP BY name
    )
    

    必要に応じて、MIN(id)を使用してください 最後のレコードではなく、各名前の最初のレコードを取得します。

    INNER JOINを使用して実行することもできます サブクエリに対して。この目的のために、パフォーマンスは同様である必要があり、場合によっては2つに参加する必要があります。 サブクエリの列。

    SELECT
      table.*
    FROM 
      table
      INNER JOIN (
        SELECT MAX(id) AS id FROM table GROUP BY name
      ) maxid ON table.id = maxid.id
    


    1. Flask-SQLAlchemy:無効なトランザクションがロールバックされるまで再接続できません

    2. SQL ServerでのATAN()の例

    3. MySql INSERT MAX()+1の問題

    4. MySQLエラー:#1142-SELECTコマンドがユーザーに拒否されました