sql >> Databáze >  >> RDS >> Oracle

ORACLE Select Distinct vrátí mnoho sloupců a kde

Pokud stačí vybrat pouze tyto 2 sloupce (name a col1), můžete použít:

select 
    distinct x.name, x.col1
  from table_name x
  where x.col1 = 2;

nebo

select 
    x.name, x.col1
  from table_name x
  where x.col1 = 2
  group by (x.name, x.col1);  

V případě, že potřebujete všechny hodnoty, ale je vám jedno, kterou z více záznamů splňujících vaše kritéria získáte (např. Dan 2 2 1 nebo Dan 2 1 3), můžete použít toto (zaznamená první z těchto záznamů podle pořadí podle kritéria):

select xx.name, xx.col1, xx.col2, xx.col3
  from (select 
      x.name, x.col1, x.col2, x.col3, dense_rank() over (partition by x.name order by x.name, x.col1, x.col2, x.col3) rnk
    from table_name x
    where x.col1 = 2) xx
  where xx.rnk = 1;


  1. Kdy budou odstraněna data v dočasné tabulce relace Oracle?

  2. Jak vložím prostorový bod mysql s modelem yii?

  3. Jak najít formáty data používané pro konkrétní jazyk v SQL Server (T-SQL)

  4. JSON Vložit do tabulky MySQL nebo aktualizovat, pokud existuje