我記錄如下:如何從一列中選擇不同的值僅
key | name
--------------
1111 | aa
1111 | bb
2222 | cc
我需要選擇key
和name
當key
值是不同的。當我嘗試:
select distinct key, name from table;
我得到了所有的行,因爲在查詢中列的組合需要不同:key
和name
。但是,我需要的僅僅是獨特的key
,我不在乎name
。我有很多記錄,所以我需要一個實用的方法。
我相信這是無效的SQL,MySQL的altough接受它,並返回的東西。此外,這個「something」是一組具有相同鍵的名稱中的一個隨機名,因此結果不是確定性的(取決於表的刪除和插入)。這是沒有意義的,並鼓勵那些尚未掌握聚合概念的人士之間的誤解。 – colemar
我不能說這是無效的。 MySQL允許它,我們可以使用它。我同意隨機記錄;應該有聚合函數或ORDER BY子句 - 這將有助於選擇確切的值。我會編輯我的答案。 – amk
根據ANSI/ISO SQL它是無效的,因爲它會導致不明確的結果。就我所知,MySQL和SQLite是唯一允許這種形式的RDBMS實現。其他RDBMS產品返回錯誤。 –