sql >> Databáze >  >> RDS >> PostgreSQL

Jak mohu (nebo mohu) SELECT DISTINCT na více sloupcích?

SELECT DISTINCT a,b,c FROM t

je přibližně ekvivalentní:

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

Je dobré si zvyknout na syntaxi GROUP BY, protože je výkonnější.

Pro váš dotaz bych to udělal takto:

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. Jak seskupit časová razítka do ostrovů (na základě libovolné mezery)?

  2. Vzory šablon a modifikátory pro formátování data/času v PostgreSQL

  3. Autentizační plugin 'caching_sha2_password' není podporován

  4. ExecuteScalar vs ExecuteNonQuery při vrácení hodnoty identity