我想創建一個Sql語句,顯示我收到的十個第一個聯繫人以及他們最近發送的消息和時間。表列爲messageId, messageBody, fromUser, toUser, timeStamp
,表格爲messages
。數據庫是Mysql,Java是語言。但我希望這發生在一個單一的SQL語句。顯示我收到的十個第一個聯繫人消息
0
A
回答
0
我解釋「顯示十個第一接觸」,該提交的消息第一10人。
Select M2.fromUser
, LastMessage.messageBody
, LastMessage.timeStamp
From (
Select M1.fromUser
, Min(M1.timeStamp) As FirstMessage
, Max(M1.messageId) As LastMessageId
From messages As M1
Where M1.toUser = 'my username'
Group By M1.fromUser
Order By Min(M1.timeStamp) Asc
Limit 10
) As M2
Join messages As LastMessage
On LastMessage.messageId = M2.LastMessageId
-1
SELECT fromUser, timeStamp, messageBody FROM messages ORDER BY timeStamp LIMIT 10
+0
這並不檢索每個這些用戶的最新發送的信息和時間。 – 2011-02-28 18:42:42
+0
易於添加這些東西... – 2011-02-28 18:44:17
+0
保持單一查詢並不那麼容易。 – 2011-02-28 18:54:28
0
您可以使用group by
來查找每個聯繫人的最新消息。然後,你可以加入回消息表檢索郵件正文:
select LastTen.Contact
, LastTen.LastMessageDate
, msg.messageBody
from (
select fromUser as Contact
, max(timeStamp) as LastMessageDate
from YourTable
where toUser = 'YourName'
group by
fromUser
order by
max(timeStamp) desc
limit 10
) LastTen
join YourTable msg
on msg.fromUser = lastTen.Contact
msg.timeStamp = lastTen.LastMessageDate
0
像這樣的東西可能會奏效:
SELECT fromUser, messageBody, timeStamp
FROM (SELECT DISTINCT fromUser FROM messages ORDER BY timeStamp LIMIT 10) AS m1
LEFT JOIN messages
ON(fromUser)
ORDER BY timeStamp DESC LIMIT 1
相關問題
- 1. 在一個頁面中顯示前十個聯繫人,在第二個頁面中顯示其他聯繫人
- 2. 聯繫人和消息回收站
- 3. 將消息發送到whatsapp聯繫人
- 4. 顯示第二個字的消息框
- 5. Android - 顯示特定聯繫人信息
- 6. Android:在烤麪包上顯示消息和聯繫人
- 7. 顯示個人消息列表
- 8. 顯示消息後,要返回到第一個屏幕
- 9. 如何顯示設備的主要聯繫人查看器顯示與電話號碼的一個聯繫人
- 10. 的Joomla 3.0:我可以更改聯繫人信息顯示
- 11. 通過whatsapp發送消息到多個聯繫人,通過whatsapp,我工作室
- 12. 導入聯繫人只導入聯繫人列表中的第一個聯繫人號碼
- 13. 多個收件人PHP聯繫表格
- 14. 我需要一個腳本來從表格發送聯繫人信息到谷歌聯繫人
- 15. TableViewController不顯示聯繫人
- 16. PhoneGap-聯繫人未顯示
- 17. 如何控制msn消息的「個人消息」通過python顯示給他人?
- 18. 聯繫人不會顯示到EditText
- 19. 添加的聯繫人不在聯繫人顯示在Android的
- 20. 如何在一個線程中向多個聯繫人發送消息
- 21. Tigase和xmpp,第一個離線消息沒有收到
- 22. 接收到第一個消息後,分離節點子進程
- 23. JAVA顯示兩個JOPTIONPANE消息作爲一個消息
- 24. Java即時消息 - 聯繫人列表
- 25. 通過意向轉到聯繫人中的某個聯繫人
- 26. 滑過了懸停一個div並顯示聯繫人按鈕
- 27. Android - 用同一個電話號碼顯示聯繫人列表
- 28. 如何顯示聯繫人ID的聯繫人照片?
- 29. Android設備聯繫人顯示重複的聯繫人條目
- 30. 過濾聯繫人以顯示或只顯示設定的聯繫人數
嗨!我試圖實現你的代碼。但是我不明白你在用FirstMessage做什麼,即使我收到正確的結果? – einstein 2011-02-28 20:33:17
好的,我改變了從最小值到最大值的som變化,而不是讓它更直觀 – einstein 2011-02-28 20:50:19
@ Woho87 - 如果你的意思是偶然使用Min for LastMessageId,是的,這是一個錯字。 – Thomas 2011-02-28 21:14:45