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

MySQLを使用して連続範囲をグループ化する方法

    MySQLは分析関数をサポートしていませんが、user-を使用してこのような動作をエミュレートできます。定義された変数

    SELECT   CatID, Begin, MAX(Date) AS End, Rate
    FROM (
      SELECT   my_table.*,
               @f:=CONVERT(
                 IF(@c<=>CatId AND @r<=>Rate AND DATEDIFF(Date, @d)=1, @f, Date), DATE
               ) AS Begin,
               @c:=CatId, @d:=Date, @r:=Rate
      FROM     my_table JOIN (SELECT @c:=NULL) AS init
      ORDER BY CatId, Rate, Date
    ) AS t
    GROUP BY CatID, Begin, Rate
    

    sqlfiddle でご覧ください 。



    1. EntityFrameworkをインストールせずに動作するようにODP.NETをデプロイおよび構成する

    2. phpを使用してmp3オーディオ保存されたimmysqlblobを再生する方法

    3. SQLServerで日付を比較する方法

    4. OracleAutonomousTransactionの例