sql >> Databasteknik >  >> RDS >> Oracle

ORACLE Välj Distinkt returnera många kolumner och var

Om det räcker med att välja dessa två kolumner (namn och kol1) kan du använda:

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

eller

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

Om du behöver alla värden men du inte har något emot vilken för de flera poster som uppfyller dina kriterier du får (t.ex. Dan 2 2 1 eller Dan 2 1 3), kan du använda detta (det kommer att spela in den första av dessa poster baserat på beställning av kriterier):

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. Hur man hämtar UTC Datetime från UNIX_TIMESTAMP() i MySQL

  2. Rätt sätt att använda NOT IN Postgres

  3. Islands T-SQL Challenge

  4. Installerar Oracle form och fick ett fel. Kan inte starta installationsprogrammet (555)