sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur tar jag en DISTINCT ON-underfråga som är sorterad efter en separat kolumn och gör den snabb?

Jag undrar om du kan få det här att fungera:

select article_id, id, article_published_date
from prediction p
where p.prediction_date = (select max(p2.prediction_date)
                           from prediction p2
                           where p2.article_id = p.article_id
                          )
order by article_published_date desc;

Använd sedan dessa två index:

  • (article_published_date desc, prediction_date, article_id, id)
  • (article_id, prediction_date desc) .


  1. detta är fel ORA-12154:TNS:kunde inte lösa den angivna anslutningsidentifieraren?

  2. hur utlöser man en uppdatering av ett tabellradvärde med hjälp av ett radvärde från en annan tabell i Apex Oracle SQL?

  3. Hur man beräknar procent med en SQL-sats

  4. sql-fråga för att söka och ersätta text i alla rader