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

PostgresqlでJSONB配列の値を合計する方法は?

    関数jsonb_array_elements()を使用します from句の横方向の結合:

    select cname, sum(coalesce(value, '0')::int) as value
    from (
        select 
            p06->>'cname' as cname, 
            value->>'progress' as value
        from ryzom_characters
        cross join jsonb_array_elements(p06->'rpjobs')
        where cid = 675010
        ) s
    group by cname
    order by value desc 
    limit 50;
    

    クロス結合の代わりに左結合を使用して、一貫性のないデータからクエリを保護できます。

        left join jsonb_array_elements(p06->'rpjobs')
        on jsonb_typeof(p06->'rpjobs') = 'array'
        where p06->'rpjobs' <> 'null'
    


    1. Fetch in reactを使用して、データベースにアクセスするにはユーザー名パスワードが必要です

    2. MYSQL挿入送信ボタンPHP

    3. オラクルのステートメントをトレースする

    4. Shift-JISとCP932を使用してSQLインジェクション攻撃を作成するにはどうすればよいですか?