Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak używać wyrazów odrębnych i sumarycznych w wyroczni?

Byłbym bardzo ostrożny z taką strukturą danych. Najpierw sprawdź, czy wszystkie id s mają dokładnie jedną cenę:

select id
from table t
group by id
having count(distinct price) > 1;

Myślę, że najbezpieczniejszą metodą jest wyodrębnienie określonej ceny dla każdego id (powiedz maksimum), a następnie wykonaj agregację:

select sum(price)
from (select id, max(price) as price
      from table t
      group by id
     ) t;

Następnie popraw swoje dane, aby nie mieć powtarzającego się wymiaru addytywnego. Powinna istnieć tabela z jednym wierszem na identyfikator i cenę (lub może z duplikatami, ale kontrolowanymi datami wejścia w życie i końcami).

Dane są pomieszane; nie należy zakładać, że cena jest taka sama we wszystkich wierszach dla danego identyfikatora. Musisz to sprawdzić za każdym razem, gdy używasz pól, dopóki nie poprawisz danych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać ścieżkę tabeli hierarchii?

  2. Jak zaktualizować identyfikator w tabeli 2 z tabeli 1 w Oracle sql

  3. Czy istnieje instrukcja SQL, która podzieli 2 długie kolumny na kilka par kolumn?

  4. Łączenie lewe i prawe za pomocą znaku plus (+) w Oracle

  5. Najszybszy sposób na porównania pól w tej samej tabeli z dużą ilością danych w Oracle