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

SQLで連続する数値をカウントする

    これは、ギャップと島の問題の一形態です。各0を割り当てることができます その前のゼロ以外の値の数を数えることによるグループ。次に集計します。

    ただし、SQLテーブルは順序付けされていないを表します セット。列で順序を指定しない限り、順序はありません。あなたが持っていると仮定させてください。次に:

    select count(*)
    from (select t.*,
                 sum(values <> 0) over (partition by idnumber order by <ordering col>) as grp
          from t
         ) t
    where values = 0
    group by idnumber, grp;
    


    1. java.io.IOException:不正なUTF-8シーケンス:最初のバイトは11111xxx:252-EclipseおよびPostgreSQL

    2. Mysqlデータベースの多言語カテゴリタイトル

    3. Oracleで重複行を選択する6つの方法

    4. 接続が悪くなったときにJBoss接続プールをOracleに再接続する方法はありますか?