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

MySQLで類似した行を並べてグループ化する

    あなたは巧妙なトリックを使用してこれを行うことができます。秘訣は、異なる特定のIDまでの説明の数を数えることです。 そのidの説明から 。シーケンス内の値の場合、この数値は同じになります。

    MySQLでは、相関サブクエリを使用してこのカウントを行うことができます。残りは、値をまとめるためにこのフィールドでグループ化するだけです:

    select min(id) as id, description, count(*) as numCondensed
    from (select t.*,
                 (select count(*)
                  from table t2
                  where t2.id <= t.id and t2.description <> t.description
                 ) as grp
          from table t
         ) t
    group by description, grp;
    



    1. MariaDBマイナスオペレーターの説明

    2. MySQLユーザーにデータベースを作成させますが、自分のデータベースへのアクセスのみを許可します

    3. Djangoの外部キー関係を持つ2つのテーブルからデータを取得しますか?

    4. オラクルの休止状態シーケンス、@ GeneratedValue(strategy =GenerationType.AUTO)