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

各グループの上位3つの値を選択します

    これを試してください:

    SELECT company, val FROM 
    (
        SELECT *, ROW_NUMBER() OVER (PARTITION BY 
                 company order by val DESC) AS Row_ID FROM com
    ) AS A
    WHERE Row_ID < 4 ORDER BY company
    

    -クイックデモはこちら...



    1. R12.2環境のクローンを作成する方法

    2. 列から一意の値を選択する

    3. SQLServerのデータベース内のすべてのテーブルを切り捨てる-SQLServer/TSQLチュートリアルパート55

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