Using SQL I have
| Message_From | Message_To |Message| Message_Time(Current TimeStamp)|
| -------------| ------------|------ | -------------------------------|
| abc@gmail.com|pof@gmail.com| Abc |2022-04-22 12:26:13 |
| abc@gmail.com|gof@gmail.com| DEF |2022-04-22 12:26:31 |
| abc@gmail.com|gof@gmail.com| CED |2022-04-22 12:26:51 |
I want to be show as
| Message_From | Message_To | Message_Time(Current TimeStamp)|
| -------------| ------------|------------------- |
| abc@gmail.com|pof@gmail.com|2022-04-22 12:26:13 |
| abc@gmail.com|gof@gmail.com|2022-04-22 12:26:51 |
I want to select the distinct Message_To With the the last Message sent.
I have written a query but its not working as my query is showing all the 3 peoples because the Message time stamp is different
SELECT DISTINCT
[Message_From], [Message_To]
FROM
[messages]
WHERE
[Message_From] = '$Email'
Any idea for this?
On MySQL 8+, use ROW_NUMBER
here:
WITH cte AS (
SELECT *, ROW_NUMBER() OVER (PARTITION BY Message_From, Message_To
ORDER BY Message_Time DESC) rn
FROM messages
)
SELECT Message_From, Message_To, Message, Message_Tim
FROM cte
WHERE rn = 1;
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.