Op basis van uw voorbeeldgegevens en resultaten, een GROUP BY
geeft u de resultaten die u zoekt:
SELECT
domain,
MIN(creationdate) AS creationdate,
value1,
value2
FROM mytable
GROUP BY domain, value1, value2
Aanvulling :@Arka heeft bijgewerkte voorbeeldgegevens verstrekt waarbij de value 1
en value 2
kolommen hebben verschillende waarden (in het origineel waren ze hetzelfde). Dat verandert de vraag in dit:
SELECT domain, creationdate, value1, value2
FROM mytable
WHERE (domain, creationdate) IN (
SELECT domain, MIN(creationdate)
FROM mytable
GROUP BY domain)
De subquery krijgt een lijst met de vroegste creationdate
voor elk domain
, en de buitenste query selecteert alleen rijen waar het domain
en creationdate
overeenkomen met de subquerywaarden.