PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Postgres:wyraźny, ale tylko dla jednej kolumny

Aby odróżnić tylko jedną (lub n) kolumnę (kolumny):

select distinct on (name)
    name, col1, col2
from names

Spowoduje to zwrócenie dowolnego wiersza zawierającego nazwę. Jeśli chcesz kontrolować, które wiersze zostaną zwrócone, musisz zamówić:

select distinct on (name)
    name, col1, col2
from names
order by name, col1

Zwróci pierwszy wiersz, gdy zostanie zamówiony przez kol1.

distinct on :

SELECT DISTINCT ON ( wyrażenie [, ...] ) zachowuje tylko pierwszy wiersz każdego zestawu wierszy, w których podane wyrażenia są równe. Wyrażenia DISTINCT ON są interpretowane według tych samych zasad, co w przypadku ORDER BY (patrz wyżej). Zwróć uwagę, że „pierwszy wiersz” każdego zestawu jest nieprzewidywalny, chyba że zostanie użyte polecenie ORDER BY, aby upewnić się, że żądany wiersz pojawi się jako pierwszy.

Wyrażenia DISTINCT ON muszą być zgodne z wyrażeniami ORDER BY znajdującymi się najbardziej po lewej stronie. Klauzula ORDER BY zwykle zawiera dodatkowe wyrażenia, które określają pożądany priorytet wierszy w każdej grupie DISTINCT ON.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak Cotd() działa w PostgreSQL

  2. PostgreSQL jak połączyć wartość interwału '2 dni'

  3. Jak działa Acosd() w PostgreSQL

  4. Wygeneruj SQL, aby zaktualizować klucz podstawowy

  5. Jaki typ danych dla szerokości i długości geograficznej?