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

MySQLでユーザーごとに最大3つのアイテムを選択するにはどうすればよいですか?

    相関サブクエリを使用すると非常に簡単です:

    SELECT `img`.`id` , `img`.`userid`
    FROM `img`
    WHERE 3 > (
    SELECT count( * )
    FROM `img` AS `img1`
    WHERE `img`.`userid` = `img1`.`userid`
    AND `img`.`id` > `img1`.`id` )
    ORDER BY `img`.`id` DESC
    LIMIT 10 
    

    クエリは、より大きなidを想定しています 後で追加することを意味します

    相関サブクエリは強力なツールです。 :-)



    1. ヒープテーブルへのINSERT…SELECTによる最小限のロギング

    2. タイムスタンプのインデックス:インデックス式の関数はIMMUTABLEとしてマークする必要があります

    3. MySQLで日、月、年を返す

    4. iPhone用のMySQLCAPIライブラリ