sql >> Databasteknik >  >> RDS >> Sqlserver

Hur kan jag inkludera nollvärden i ett MIN eller MAX?

Det är lite fult men eftersom NULL Om det har en speciell betydelse för dig är det här det renaste sättet jag kan tänka mig att göra det på:

SELECT recordid, MIN(startdate),
   CASE WHEN MAX(CASE WHEN enddate IS NULL THEN 1 ELSE 0 END) = 0
        THEN MAX(enddate)
   END
FROM tmp GROUP BY recordid

Det vill säga om någon rad har en NULL , vi vill tvinga att det blir svaret. Endast om inga rader innehåller en NULL ska vi returnera MIN (eller MAX ).



  1. Sammanfoga en sträng och ett nummer i MySQL

  2. Hur räknar man dagar utom söndagar mellan två datum i Postgres?

  3. Optimera uppdateringsfrågor

  4. Hur man tar bort efterföljande blanksteg i MySQL