[英]Group query doesn't value corresponding values
我有一個查詢,可以按最高順序進行分組。 我已經意識到是它能夠拿起ids
好嗎但值vmsg
字段不對應的的id
。
例如,id為28
對應於vsmg
',但運行查詢后id為28
選擇了另一個值。
這是從后端看的樣子
和我的劇本
SELECT
MAX(id) as id, vmsg, sender_id, fname, lname, profile_pix, profile.profile_id
FROM
chats
LEFT JOIN
profile
ON
chats.sender_id = profile.profile_id
WHERE
reciever_id = 1
GROUP BY
(sender_id)
我得到這個:
我獲得了最大ids
但vmsg
值不對應。
如果您需要獲取與MAX(id)
相對應的數據,則可以修改查詢,例如:
SELECT
c.id, c.vmsg, c.sender_id, c.fname, c.lname, p.profile_pix, p.profile_id
FROM
chats c
LEFT JOIN
profile p
ON
c.sender_id = p.profile_id
WHERE
c.reciever_id = 1
AND
c.id
IN (
SELECT
MAX(c.id) as id
FROM
chats c
GROUP BY
c.sender_id
)
這將僅獲取與MAX(id)
對應的數據。
我的策略:你會得到關於聊天,一切原糖,其中用於相同的ID id_sender_id
和reciever_id
是最大的(所以不存在這對夫妻的下一行)
嘗試這個:
SELECT id,vmsg,sender_id,fname,lname,profile_pix,profile.profile_id
FROM chats c LEFT JOIN profile p
on chats.sender_id = profile.profile_id
WHERE NOT EXISTS
(SELECT 'NEXT' FROM chat c2
WHERE c2.id_sender_id = c.id_sender_id
AND c2.reciever_id = c.reciever_id
AND c2.id > c.id)
AND reciever_id = 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.