0
例如,假設你有一個名爲人表,結構如下:獲取PostgreSQL中唯一字段集合的最佳方法?
Table "public.person"
Column | Type | Modifiers
-------------------+-------------------+-----------------------------------------------------
id | integer | not null default nextval('person_id_seq'::regclass)
first_name | character varying | not null
last_name | character varying | not null
birthday | date |
Indexes:
"person_pkey" PRIMARY KEY, btree (id)
你如何找到一套獨特的名字嗎?
通過「一套獨特的」我的意思是這樣的:
Aaron
Abbie
Adam
...
而不是這樣的:
Aaron
Aaron
Abbie
Abbie
Abbie
Adam
...
我的問題是非常相似this one,但我覺得這個問題是相當具體到特定的人的用例,也沒有得到很多答案 - 所以我想在這裏重新打開這個話題。
我的直覺是使用此查詢:
SELECT DISTINCT ON (first_name) first_name FROM person ORDER BY first_name;
你能鏈接到一個[SQLFiddle](http://sqlfiddle.com/)來重現問題嗎?當我嘗試在我自己的數據庫上進行復制時,查詢完美無缺。 – Mureinik
你不需要'明顯的()'普通'distinct'足夠'從人選擇不同的FIRST_NAME;' –
@Mureinik我一直無法重現在SQLFiddle問題。我的數據庫可能存在更深層次的問題......運行'SELECT * FROM person ORDER BY first_name'會返回多個名爲Abbie的人的結果,例如** Abbie Smith **,** Abbie Jones **,但是'SELECT * FROM person WHERE first_name ='Abbie''只返回** Abbie Smith的一個結果** ...這可能需要一個新的問題。 – Normangorman