2015-05-22 83 views
1

我想從食品表中選擇數據,但食品名稱應該是不同的。MYSQL在多列上的不同查詢

我用下面的查詢

SELECT * 
FROM Food 
WHERE cfid IN (
    SELECT distinct(foodname) FROM Food WHERE userid=234 
); 

但它返回一個空的一組數據。

食品表

cfid foodname   userid brand 
160 special chapati  234 homemade 
161 chicken fry special 234 kfc 
162 apple punch   234 homemade 
164 pohapokri    234 homemade 
165 pohapokri    234 homemade 
167 besan gatte   234 home made 
168 besan gatte   234 home made 
169 pohapokri    234 homemade 
172 chicken fry special 234 kfc 
174 special chapati  234 homemade 
175 special chapati  234 homemade 
+1

當然是一個min,CFID無法找到在不同foodname列表。你期望的結果是什麼?你只需要食物名稱,用戶名和品牌?如果你需要cfId,你想要哪一個,如果它是食品名稱的「重複」? –

+0

DISTINCT不是一個函數。 – Strawberry

+0

@RaphaëlAlthaus我想要明確foodname只與cfid,userid,品牌可能dublicate –

回答

1

從您的評論,請使用group by和CFID

select min(cfId), foodname, userid, brand 
from food 
group by foodname, userid, brand 
--where userid=234 
+0

thnks。有用 –