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

時間間隔が重複している場合は行をグループ化します

    WITH C1 AS (
    SELECT *,
      CASE 
    WHEN start_time <= MAX(IFnull(end_time,'9999-12-31 00:00:00.000')) OVER(
      partition by id
      ORDER BY start_time 
      ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING
      ) 
      THEN 0 
      ELSE 1 
    END AS isstart
    FROM activity
    ) 
    SELECT ID,start_time,end_time,
       SUM(isstart) OVER(partition by id ORDER BY ID ROWS UNBOUNDED PRECEDING) AS DG 
    FROM C1;
    

    これはあなたのために働くはずです



    1. メッセージ8672、レベル16、状態1、行1 MERGEステートメントが、同じ行を複数回更新または削除しようとしました

    2. PHP変数とMySQLLIKEクエリが機能していません

    3. ibatisではカスタム配列オブジェクトを渡し、javaではoracleを返します

    4. Play Framework 2.0で本番環境とテストの両方でタイムゾーンをUTCに設定するにはどうすればよいですか?