sql >> Databasteknik >  >> RDS >> Mysql

Näst sista rekord

Här är ett alternativ som använder user-defined variables för att upprätta ett radnummer per grupp av handlare och sedan filtrera på den 2:a i varje grupp ordnad enligt kontrakt:

select * 
from (
  select *, 
      @rn:=if(@prevMerchantId=merchantid,
              @rn+1,
              if(@prevMerchantId:=merchantid, 1, 1)
              ) as rn
  from yourtable cross join (select @rn:=0, @prevMerchantId:=null) t
  order by merchantId, contractid desc
  ) t
where rn = 2


  1. Hämtar tidsstämpelvärde från mysql-databasen med Spring JDBC-mall

  2. Hur ansluter du till en MySQL-databas med Oracle SQL Developer?

  3. Arbeta med Java Data i Sisense

  4. Hur exporterar man data som CSV-format från SQL Server med sqlcmd?