sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur väljer jag (eller kan jag) DISTINCT på flera kolumner?

SELECT DISTINCT a,b,c FROM t

är ungefär motsvarande:

SELECT a,b,c FROM t GROUP BY a,b,c

Det är en bra idé att vänja sig vid GROUP BY-syntaxen, eftersom den är mer kraftfull.

För din fråga skulle jag göra så här:

UPDATE sales
SET status='ACTIVE'
WHERE id IN
(
    SELECT id
    FROM sales S
    INNER JOIN
    (
        SELECT saleprice, saledate
        FROM sales
        GROUP BY saleprice, saledate
        HAVING COUNT(*) = 1 
    ) T
    ON S.saleprice=T.saleprice AND s.saledate=T.saledate
 )


  1. Komma igång med GearHost för MySQL-databasutveckling

  2. ClusterControl - Advanced Backup Management - mariabackup del I

  3. Hur man skapar en enkel valfråga i designvy i Access 2016

  4. SQL-fel:Fel syntax nära nyckelordet "Användare"