sql >> Databasteknik >  >> RDS >> Oracle

SQL:infoga rader med sammanfattade värden

SELECT
  LEAST(No1, No2) || ':' || GREATEST(No1, No2)     AS set_label,
  No1,
  No2,
  SUM(Amount)                               AS Amount,
  Stamp
FROM
  tbl
GROUP BY
  GROUPING SETS (
    (LEAST(No1, No2), GREATEST(No1, No2), No1, No2, Stamp),
    (LEAST(No1, No2), GREATEST(No1, No2))
  )

http://sqlfiddle.com/#!4/9afd5/18

Skulle vara bättre om varje rad har en unik identifierare...

http://sqlfiddle.com/#!4/e9e95/1



  1. 8 sätt att lägga till minuter till en Datetime i MariaDB

  2. WHERE-klausul vs ON när du använder JOIN

  3. Gruppera rader med 7 dagars intervall från ett visst datum

  4. INST_TOP (Oracle R12 INSTANCE_HOME ) avkodad