2016-11-14 39 views
0

我的表看起來像這樣MySQL中,如何讓最後封郵件到/來自不同用戶的

id INT 
from9 VARCHAR 12 
to9 VARCHAR 12 
message TEXT 
datetime9 DATETIME 

from9和TO9是用戶的ID。顯然,如果蘇珊(ID:蘇珊)將消息發送到傑克(ID:插孔),行的MySQL表的樣子:

55 (Auto-increment INT) 
susan 
jack 
Hello Jack how are you doing? 
2016-11-14 22:22:22 

如果傑克將消息發回,from9和TO9將invese。正如你所看到的,我爲雙方保存了一條消息(這很好)。我想列出所有發送給我或由我發送的「最後」消息,並且在建立此類查詢時遇到問題。我正在考慮做的解決方法,並有更多的查詢:1)獲取消息發送給我2)得到我發送的消息3)把所有這些消息放在一個集合,並做最後的查詢,在那裏我讀取這些ID。

是否有可能爲此構建一個查詢?

+1

你真的爲兩個人之間發生的每次聊天創建新表嗎? 'ID:jack'和'ID:susan'似乎並不合法。一個ID是一個整數,你可以加入多個表的整數,比如屬於jack和susan的ID。 – Xorifelse

+0

在您的查詢中對'DATETIME'列使用'ORDER BY'來顯示'​​last'消息。 – KDOT

+1

這是屁股 – Strawberry

回答

0

我希望大家能夠從這個查詢

SELECT max(datetime),msg FROM `message` WHERE from9="a" or to9="a" 

這裏得到答案「日期時間」的單位是dB我的日期字段名稱和正在產生與被髮送或由用戶「」最後收到一條消息查詢時間

+0

不好,因爲我需要最後的信息從Mike發給我,或者從我發給Mike。你的例子會給我2條消息(我給邁克,邁克給我)。我只需要在我們兩個人之間發送LAST消息。我在做他們之間的2個查詢和UNION,爲我/他添加唯一密鑰並刪除除最新消息之外的重複內容。 – Maxitrol

相關問題