# tạo thêm 1 field
# field: message_thread format userid1_userid2
# userid1 < userid2
# chỉ làm 1 lần
ALTER TABLE `banmuonhenho_message`
ADD COLUMN `message_thread` varchar(255) NULL AFTER `message_content`
#update data cho tất cả các row hiện tại
# chỉ làm 1 lần ( lần sau khi insert vào thì chỉ insert thêm data field này)
UPDATE banmuonhenho_message
SET
message_thread = if (message_from < message_to, CONCAT(message_from,'_',message_to), CONCAT(message_to, '_',message_from))
# lấy danh sách các cuộc trò chuyện mới nhất
SELECT
T1.*,
message_from,
message_to,
message_content
FROM
(
SELECT
MAX(message_id) as message_id,
message_thread,
count(*) as message_reply
FROM
banmuonhenho_message AS t
GROUP BY
message_thread
ORDER BY message_id DESC
LIMIT 0,5
) AS T1
LEFT JOIN banmuonhenho_message AS T2
ON T1.message_id = T2.message_id
#message_id, message_thread, message_reply(count), messagem_from, message_to, message_content
# 32 1_18 1 1 18 Chào bạn, cám ơn bạn đã ủng hộ nha.
# 31 4_16 1 16 4 Chào bạn
# 30 1_10 1 1 10 Cám ơn bạn đã ủng hộ.
# 29 1_13 1 1 13 Đẹp gái quá ta.
# 28 4_11 2 4 11 halo b
#đếm số lượng các cuộc trò chuyện
SELECT
COUNT(DISTINCT message_thread) AS conversation_count
FROM
banmuonhenho_message
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.