0

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

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

3 回答 3

5

Distinct here 可能仅适用于一个字段,如果您还获取其他值,则可以尝试

SELECT sd_did,sd_uid,sd_time 
FROM shared_deals 
WHERE sd_uid = '".$uid."' 
GROUP BY sd_did
ORDER BY sd_time DESC
于 2013-01-22T10:09:48.173 回答
1

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

选择 sd_did
             ,sd_uid
             ,sd_time
FROM shared_deals
WHERE sd_uid = '".$uid."'
按 sd_did、sd_uid、sd_time 分组
按 sd_time DESC 排序;
于 2013-01-22T10:19:47.553 回答
1

我认为distinct适用于所有选定的列,这意味着如果在你的结果中你有sd_did=1,sd_uid=1并且sd_did=1,sd_uid=2distinct 不会像你期望的那样工作,因为这两行是不同的

于 2013-01-22T10:13:31.817 回答