区别不符合预期

时间:2013-01-22 10:07:30

标签: mysql distinct

我在distinct中使用了query,但它仍然在id中提供了重复的条目。我究竟做错了什么?这是我的代码:

SELECT distinct(sd_did),sd_uid,sd_time 
FROM shared_deals 
WHERE sd_uid = '".$uid."' 
ORDER BY sd_time DESC";

3 个答案:

答案 0 :(得分:5)

此处的区别可能仅适用于一个字段,如果您还有其他值,则可以尝试

SELECT sd_did,sd_uid,sd_time 
FROM shared_deals 
WHERE sd_uid = '".$uid."' 
GROUP BY sd_did
ORDER BY sd_time DESC

答案 1 :(得分:1)

我认为distinct适用于所有选定的列,这意味着如果您的结果中有sd_did=1,sd_uid=1sd_did=1,sd_uid=2,则distinct将无法正常工作,因为这两行不同

答案 2 :(得分:1)

如果您希望(sd_did,sd_uid,sd_time)的组合不同,请使用以下代码:


SELECT       sd_did
             ,sd_uid
             ,sd_time 
FROM         shared_deals 
WHERE        sd_uid = '".$uid."' 
GROUP BY     sd_did,sd_uid,sd_time
ORDER BY     sd_time DESC;