[英]Select records from database WHERE but at least
假設我有一張桌子
CREATE TABLE IF NOT EXISTS `Message` (
`ConMsgID` int(11) NOT NULL AUTO_INCREMENT,
`SenderID` int(11) DEFAULT NULL,
`ReceiverID` int(11) DEFAULT NULL,
`Text` text NOT NULL,
`DateTime` datetime NOT NULL,
`ReadStatus` tinyint(1) NOT NULL,
`ReadDateTime` datetime DEFAULT NULL,
PRIMARY KEY (`ConMsgID`),
KEY `UserID` (`SenderID`),
KEY `ReceiverID` (`ReceiverID`)
)
這是一個聊天消息表。 試想一下2個用戶正在互相聊天。 USER1和USER2
情況1:
USER1向USER2發送20條消息,並且USER2未讀取。 USER2打開對話時,他必須看到所有20條消息。
情況2:
USER2回復USER1並發送3條消息,但USER1未讀。 USER1打開對話后,他將看到兩個用戶的最后15條消息。
希望我現在明白了
相應地對數據進行排序,並將結果限制為15個記錄
SELECT *
FROM msgs
ORDER BY case when ReadStatus = 0 then 1 else 2 end asc,
id desc
LIMIT 15
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.