sql >> Databasteknik >  >> RDS >> Mysql

SQL - Ersätter dubblettvärde med tomt

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

Utdata

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

Livedemo




  1. Hur schemalägger man dynamisk funktion med cron-jobb?

  2. 10 Användbara Microsoft Access-genvägar när du arbetar med kontroller på formulär och rapporter

  3. Få rad-ID för en SQLite FTS3-tabell

  4. MySQL:Använder DATETIME som primärnyckel