sql >> Database >  >> RDS >> PostgreSQL

Hulp nodig bij het maken van een query in SQL?

ID lijkt de unieke id voor deze tabel te zijn. In plaats daarvan lijkt het erop dat u TicketID . wilt gebruiken om de maximale en minimale waarden per ticket te vinden.

Om ze bijvoorbeeld te vinden voor TicketID = 1008 :

SELECT MAX(UpdateTime) FROM TicketUpdate WHERE TicketUpdate.TicketID = 1008;    
SELECT MIN(UpdateTime) FROM TicketUpdate WHERE TicketUpdate.TicketID = 1008;

Of in één zoekopdracht:

SELECT 
  MAX(UpdateTime) AS newest,
  MIN(UpdateTime) AS oldest
FROM TicketUpdate
WHERE TicketID = 1008;

Om de meest recente en oudste voor elke individuele TicketID te krijgen, gebruikt u een GROUP BY en laat de WHERE . weg clausule.:

SELECT 
  TicketID,
  MAX(UpdateTime) AS newest,
  MIN(UpdateTime) AS oldest,
FROM TicketUpdate
GROUP BY TicketID

Als u een zoekopdracht uitvoert met ID , krijgt u altijd dezelfde rij omdat er maar één waarde lijkt te zijn voor elke ID die de rij uniek identificeert.




  1. Door komma's gescheiden waarden met hetzelfde aantal rijen

  2. DB-schema voor RBAC met meerdere rollenniveaus

  3. wat is het gebruik van de pool-optie in database.yml

  4. Primaire sleutel met meerdere kolommen in MySQL 5