sql >> Databasteknik >  >> RDS >> PostgreSQL

Behöver du hjälp med att skapa en fråga i SQL?

ID verkar vara den unika identifieraren för den här tabellen. Istället ser det ut som att du vill använda TicketID för att hitta max- och minvärden per biljett.

Till exempel för att hitta dem för TicketID = 1008 :

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

Eller i en fråga:

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

För att få det senaste och äldsta för varje enskilt TicketID, använd en GROUP BY och utelämna WHERE klausul.:

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

Om du frågar med ID , kommer du alltid att få samma rad eftersom det bara verkar finnas ett värde för varje ID som unikt identifierar sin rad.




  1. MINUS Operatör i oracle

  2. Följerkluster – 3 stora användningsfall för synkronisering av SQL- och NoSQL-distributioner

  3. Användaraktivitet (ala facebook) DB tillvägagångssätt. Big JOIN eller flera enkla frågor?

  4. Hur man tar reda på den optimala hämtningsstorleken för urvalsfrågan