sql >> Database teknologi >  >> RDS >> Oracle

Top 2 tilbud med summen af ​​alle tilbud

with x as (select row_number() over(partition by customer,make order by offer desc) rn, customer, make, zipcode, offer from tablename) , y as (select customer, make, zipcode, offer from x where rn <=2) , z as (select customer, make, zipcode, case when rn = 1 then offer else 0 end as offer_1, case when rn = 2 then offer else 0 end as offer_2 from y) select customer, make, zipcode, offer_1, offer_2, offer_1+offer_2 total_offer from z

Dette gør brug af rekursive cte'er til at udføre din opgave.



  1. Hvordan kan jeg indstille en dato til NULL i Yii?

  2. Mit VARCHAR(MAX)-felt begrænser sig selv til 4000; hvad giver?

  3. Hvordan søger jeg efter navne, der starter med A i MySQL?

  4. Rails 3 forespørger på betingelse af en forenings optælling