PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Postgres:Различен, но само за една колона

За да направите различно само за една (или n) колона(и):

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

Това ще върне всеки от редовете, съдържащи името. Ако искате да контролирате кой от редовете ще бъде върнат, трябва да поръчате:

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

Ще върне първия ред, когато е поръчан от col1.

distinct on :

SELECT DISTINCT ON ( израз [, ...] ) запазва само първия ред от всеки набор от редове, където дадените изрази се оценяват на равни. Изразите DISTINCT ON се интерпретират, като се използват същите правила като за ORDER BY (вижте по-горе). Имайте предвид, че „първият ред“ на всеки набор е непредсказуем, освен ако ORDER BY не се използва, за да се гарантира, че желаният ред се появява първи.

Изразът(ите) DISTINCT ON трябва да съвпада с най-левия израз(и) ORDER BY. Клаузата ORDER BY обикновено съдържа допълнителен(и) израз(и), който определя желания приоритет на редовете във всяка група 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. Вземете деня от дата в PostgreSQL

  2. Относно клъстерирания индекс в postgres

  3. Проверете дали базата данни съществува в PostgreSQL с помощта на shell

  4. 2 начина за показване на всички бази данни в PostgreSQL (psql)

  5. Импортиране на шейп файлове в postgresql в linux с помощта на pgadmin 4