mysql
2012-03-08 23 views 0 likes 
0

我有一個查詢在選擇記錄時可以處理多個條件。避免在MySQL中輸出相同的記錄

select 
    uid, uid2, up, 
    datediff(CURRENT_TIMESTAMP, tim) \"dt\", 
    id, behind, sid, spid 
from Z_uup, Z_snoop, Z_wshop 
where 
    (Z_wshop.sid='5555' or Z_snoop.id='5555') and 
    (
     Z_uup.uid=Z_snoop.id or 
     Z_uup.uid2=Z_snoop.id or 
     Z_uup.uid=Z_snoop.behind or 
     Z_uup.uid2=Z_snoop.behind or 
     Z_uup.pid=Z_wshop.spid 
    ) 
order by Z_uup.tim desc; 

Z_uup只有一個條目,但它似乎我得到的一樣,反覆15次爲出放。爲什麼會發生這種情況,我該如何解決這個問題。

+0

您的查詢嘗試做什麼? – 2012-03-08 08:59:23

回答

0

與GROUP嘗試:

 

select uid,uid2,up,datediff(CURRENT_TIMESTAMP,tim) \"dt\",id,behind,sid, 
spid from Z_uup,Z_snoop,Z_wshop where (Z_wshop.sid='5555' or Z_snoop.id='5555') 
and (Z_uup.uid=Z_snoop.id or Z_uup.uid2=Z_snoop.id or 
Z_uup.uid=Z_snoop.behind or Z_uup.uid2=Z_snoop.behind or Z_uup.pid=Z_wshop.spid) 
group by uid order by Z_uup.tim 
desc; 
 

希望它可以幫助

1

你嘗試使用DISTINCT?

SELECT DISTINCT field1, field2, ... FROM table1... 

這樣重複記錄將不會顯示。

如果速度變慢,請嘗試使用來自Z_uup的字段組。

0

在你寫的GROUP BY中查詢你獲得同樣的記錄。

相關問題