2017-10-05 139 views
0

所有行我願做一個具體的查詢MySQL的:從選擇不同

select distinct name 
from tablename 

刪除重複。但是這隻給了我名字。從「選擇表不同的名字:」我想所有的列有一個WHERE條件返回:

select * 
from tablename 
where value= 1 

我嘗試這樣做:

select * 
from tablename 
where value = 1 and exists (select distinct name 
          from tablename) 

不幸的是它返回相同的數據:

select * 
from tablename 
where value = 1 

這意味着我的查詢中存在一個基本缺陷。

有人可以幫我解決我的問題。先謝謝你。

+0

添加一些示例表數據和預期結果。請格式化文本。 (不是圖片。) – jarlh

+0

你有沒有嘗試過使用'group by'?是否需要聚合? –

回答

0

你可以試試這個select field1, field2, field3 from tablename group by field2

+0

這並不刪除重複項。所以它不適合我。我需要刪除「名稱」列中有重複的所有行。 –

+0

您能否提供一個示例數據集,顯示您想要的內容以供參考? –

0

該查詢會給你,你有重複的ID:

select distinct id 
from table1 
group by id 
having count(id)>1 

,你可以把

having count(id)=1 

,如果你想了解的人那些不重複

+0

這不會返回所有列。所以它不適合我。我需要刪除「名稱」列中有重複的所有行。 –