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

SQL-重複する値を空に置き換える

    SELECT Case When Rank=1 then
                `Company`
           Else ''
           End as Company,
           Case When Rank=1 then
                `Date`
           Else ''
           End as `Date`,
           Case When Rank=1 then
                `Paper`
           Else ''
           End as `Paper`, 
           `Condition` 
      FROM (SELECT t.*,
                   CASE 
                     WHEN @Company != t.Company OR @Date != t.`Date` OR  @Paper != t.`Paper`
                         THEN @rownum := 1 
                     ELSE @rownum := @rownum + 1 
                   END AS rank,
                   @Company := t.Company AS var_category,
                   @Date := t.`Date` AS var_Date,
                   @Paper := t.`Paper` AS var_Paper 
              FROM Table1 t
              JOIN (SELECT @rownum := null, @Company := '') r ) x
    

    出力

    Company     Date        Paper   Condition
    Company1    19-12-2007  PaperA  Release Second Term
                                    Add Third Term
                                    Append First Term
    

    ライブデモ




    1. CONVERT_TZ –クエリでMySQLタイムゾーンを変更する方法

    2. 24時間ごとに実行されるイベントを作成するにはどうすればよいですか?

    3. MySQL、JSON配列の値に基づいてレコードを選択します

    4. MySQLの区切り文字