2013-04-01 87 views
0
$r=mysql_query(" 
(
SELECT * 
FROM commentsvv AS dt 
WHERE FIND_IN_SET(id,'$dset')>0 
    AND id2='$uid' 
    AND status_id2='0' 
ORDER BY datetimep DESC LIMIT 1) 

UNION 

(
SELECT * 
FROM commentsvv AS dt 
WHERE FIND_IN_SET(id2,'$dsetv')>0 
    AND id='$uid' 
    AND status_id='0' 
ORDER BY datetimep DESC LIMIT 1) 
"); 

對不起,我不知道如何正確格式化查詢。需要閱讀有關的信息,所以它的內容是檢索id和id2的整體結果。我想爲$dset$dsetv中的每個成員檢索一個結果,即第一個查詢中的id,第二個group中的id2和order by datetimep desc limit 1中的每個成員。無法實現。order by date limit to one and group by sub id

+0

使用'UNION'子句時,應該使用相同的字段名稱。 –

回答

0

你需要做的是子查詢,你不需要另一半的查詢,你如何分組某些東西,或者如果你只是請求一條記錄,你爲什麼要分組? w3schools.org

+0

我想爲每個id和id2(總數很多)按時間戳排序一個記錄 – lbennet

+0

上面我可以看到,你只是從一個表中調用數據,它會自動分組,我希望id是唯一的(它是假設是)我們只分組那些不是真貨的東西,例如我列出的朋友可以按城市分組,或者說爲什麼我需要通過id將他們分組。或者你可以給我兩個記錄作爲例子,我會給你發送你需要的查詢,我最多可以做 –

+0

由id和id2分組,因爲我想爲每個用戶只顯示一個結果,它是一個會話表,id是用戶a的id,而id2是用戶b的id,我想顯示登錄用戶被放置爲id(發送者)或id2(接收者)的兩個用戶之間的最後一個對話行 – lbennet