sql >> Databasteknik >  >> RDS >> Oracle

Fråga i Oracle för att välja med underfråga

Du behöver bara tydlig handling inom en dag. Så använd HAVING count distinkt av två individuella åtgärder grupperade EFTER flyg och dag :

SELECT flight
  FROM test
 WHERE action in ('Departure','Arrival')
 GROUP BY flight, trunc("date")
HAVING COUNT(distinct action)=2

där det ska vara distinct klausul, behov observeras om exempeldatauppsättningen utökas

Demo

  • date är ett reserverat nyckelord och kan inte användas som ett kolumnnamn för Oracle-databasen. Så jag föredrog "date"
  • Prefix tidsliteralerna med timestamp nyckelord och lägg till del :00 i slutet för att representera second som timestamp'2020-02-21 04:30:00' under insättningen


  1. Den använda tabelltypen stöder inte FULLTEXT-index

  2. PHP Beräkna antalet downline i binärt träd

  3. Hantera SQL-databaser med PyQt:Grunderna

  4. Hur uppdaterar jag från en SELECT i SQL Server?