mysql unique combination of 2 column values sort by another column -


i have sample data this

------------------------------------------ message_id | sender_id | receiver_id | message ------------------------------------------  1 | 101 | 102 | hello 2 | 102 | 101 | fine 3 | 103 | 101 | you? 4 | 101 | 103 | @ home 5 | 103 | 101 | ok 6 | 101 | 102 | whats up? 7 | 102 | 104 | busy 8 | 105 | 101 | hey 

i latest message each dialogue in user 101 participant

expecting output

8 | 105 | 101 | hey 6 | 101 | 102 | whats up? 5 | 101 | 103 | @ home 

i need mysql query this.

thanks in advance.

e.g.:

select a.*    my_table    join       ( select least(sender_id,receiver_id) user1             , greatest(sender_id,receiver_id) user2             , max(message_id) message_id           my_table          101 in (sender_id,receiver_id)         group             user1             , user2      ) b      on b.message_id = a.message_id; 

or just

select a.*    my_table    join       ( select max(message_id) message_id           my_table          101 in (sender_id,receiver_id)         group             least(sender_id,receiver_id)              , greatest(sender_id,receiver_id)       ) b      on b.message_id = a.message_id; 

this can written follows. doubt makes difference performance...

select a.*    my_table    join       ( select max(message_id) message_id                       ( select message_id                    , receiver_id user2                  my_table                 sender_id = 101                union               select message_id                    , sender_id                  my_table                 receiver_id = 101             ) x         group            user2      ) b      on b.message_id = a.message_id; 

actually, in own limited tests, first queries complete in half time of last one.


Comments

Popular posts from this blog

What is happening when Matlab is starting a "parallel pool"? -

angular - DownloadURL return null in below code -

php - Cannot override Laravel Spark authentication with own implementation -