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

集計条件が真になるレコードからフィールド値を取得します

    with agg as (
        select a, min(d) as d
        from x
        group by a
        having 1 = any(array_agg(b))
    )
    select distinct on (a, c)
        a, c, d
    from
        x
        inner join
        agg using (a, d)
    order by a, c
    

    min(d)の場合 a内で一意ではありません グループの場合、対応するcが複数存在する可能性があります。 。上記は最小のcを返します。代わりに最大のことをしたい場合

    order by a, c desc
    


    1. 競合状態を回避し、Django + Heroku + PostgreSQL

    2. 文字ベースのOracleフォームの移行

    3. GoogleスプレッドシートをPostgreSQLにリンクするにはどうすればよいですか?

    4. SELECT EXISTS vs. LIMIT 1