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

sqlalchemyを使用して特定のJSON列(postgres)をクエリします

    間違った集計 を使用しています 。 count(expression) の対象となる行数をカウントします nullではありません。合計が必要な場合は、sum(expression)を使用します :

    db.session.query(func.sum(Item.data['cost'].astext.cast(Numeric))).\
        filter(Item.data['surcharge'].astext.cast(Numeric) > 1).\
        scalar()
    

    が原因で、金銭的価値と2進浮動小数点演算は不適切な組み合わせであることに注意してください。バイナリ浮動小数点はすべての10進値を表すことができません 。代わりに、適切な金銭タイプ を使用してください 、またはNumeric この場合、SQLAlchemyは Decimalを使用します。 Pythonで結果を表すため。



    1. PHPへのMySQLpassword()関数

    2. NHibernateは、mysqlを実行している共有サーバーでホストに移動した後、挿入しますが更新しません

    3. Hiveのhour()関数は12時間制の値を返します

    4. 特定の条件と適切なlead()の使用法を超えてSQLギャップをジャンプする