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

ここでの区別は、おそらく1つのフィールドでのみ機能します。他の値もフェッチされている場合は、試すことができます。

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)の組み合わせを区別したい場合は、以下のコードを使用してください。

SELECT sd_did
             、sd_uid
             、sd_time
Shared_dealsから
WHERE sd_uid='"。$uid。"'
GROUP BY sd_did、sd_uid、sd_time
sd_timeDESCによる注文;
于 2013-01-22T10:19:47.553 に答える
1

選択したすべての列で機能すると思いdistinctます。つまり、結果がsd_did=1,sd_uid=1ありsd_did=1,sd_uid=2、2 つの行が異なるため、個別が期待どおりに機能しない場合を意味します。

于 2013-01-22T10:13:31.817 に答える