一个查询问题,大家帮忙看看
2个表
1.用户
字段: id, name
用户id,用户名
2.聊天表
字段: id, fromUserId, toUserId, content, date
id, 发送方id,接收方id, 发送内容, 发送日期
现在要查出 当前用户发过信息,过着发信息给过当前用户的最后5个用户信息,以及最后发表的那条信息的内容,发送时间
写来写去没出来,求高手帮忙
mysql> select * from user_info;
+----+----------+
[解决办法]
id
[解决办法]
username
[解决办法]
+----+----------+
[解决办法]
1
[解决办法]
张三
[解决办法]
[解决办法]
2
[解决办法]
李四
[解决办法]
[解决办法]
3
[解决办法]
王五
[解决办法]
[解决办法]
4
[解决办法]
赵六
[解决办法]
[解决办法]
5
------解决方案--------------------
丁七
[解决办法]
+----+----------+
5 rows in set (0.00 sec)
mysql> select * from chat_message;
+----+------------+----------+-------------+---------------------+
[解决办法]
id
[解决办法]
fromUserId
[解决办法]
toUserId
[解决办法]
content
[解决办法]
createDate
[解决办法]
+----+------------+----------+-------------+---------------------+
[解决办法]
1
[解决办法]
1
[解决办法]
2
[解决办法]
张三到李四1
[解决办法]
2013-07-04 15:32:40
[解决办法]
[解决办法]
2
[解决办法]
1
[解决办法]
3
[解决办法]
张三到王五1
[解决办法]
2013-07-04 15:33:04
[解决办法]
[解决办法]
3
------解决方案--------------------
1
[解决办法]
4
[解决办法]
张三到赵六1
[解决办法]
2013-07-04 15:34:39
[解决办法]
[解决办法]
4
[解决办法]
2
[解决办法]
1
[解决办法]
消息....112
[解决办法]
2013-07-04 15:38:56
[解决办法]
[解决办法]
5
[解决办法]
2
[解决办法]
3
[解决办法]
消息....113
[解决办法]
2013-07-04 15:38:56
[解决办法]
[解决办法]
6
[解决办法]
2
[解决办法]
4
[解决办法]
消息....114
[解决办法]
2013-07-04 15:38:56
[解决办法]
[解决办法]
7
[解决办法]
2
[解决办法]
5
[解决办法]
消息....115
[解决办法]
2013-07-04 15:38:57
[解决办法]
[解决办法]
8
[解决办法]
3
[解决办法]
1
[解决办法]
消息....116
[解决办法]
2013-07-04 15:38:57
[解决办法]
[解决办法]
9
[解决办法]
3
[解决办法]
2
[解决办法]
消息....117
[解决办法]
2013-07-04 15:38:57
[解决办法]
[解决办法]
10
[解决办法]
3
[解决办法]
4
[解决办法]
消息....118
------解决方案--------------------
2013-07-04 15:38:57
[解决办法]
[解决办法]
11
[解决办法]
3
[解决办法]
5
[解决办法]
消息....119
[解决办法]
2013-07-04 15:38:57
[解决办法]
[解决办法]
12
[解决办法]
4
[解决办法]
1
[解决办法]
消息....120
[解决办法]
2013-07-04 15:38:57
[解决办法]
[解决办法]
13
[解决办法]
4
[解决办法]
2
[解决办法]
消息....121
[解决办法]
2013-07-04 15:38:57
[解决办法]
[解决办法]
14
[解决办法]
4
[解决办法]
3
------解决方案--------------------
消息....122
[解决办法]
2013-07-04 15:38:57
[解决办法]
[解决办法]
15
[解决办法]
4
[解决办法]
5
[解决办法]
消息....123
[解决办法]
2013-07-04 15:38:57
[解决办法]
[解决办法]
16
[解决办法]
5
[解决办法]
1
[解决办法]
消息....124
[解决办法]
2013-07-04 15:38:57
[解决办法]
[解决办法]
17
[解决办法]
5
[解决办法]
2
[解决办法]
消息....125
[解决办法]
2013-07-04 15:38:57
[解决办法]
[解决办法]
18
[解决办法]
5
------解决方案--------------------
4
[解决办法]
消息....126
[解决办法]
2013-07-04 15:38:57
[解决办法]
[解决办法]
19
[解决办法]
5
[解决办法]
3
[解决办法]
消息....127
[解决办法]
2013-07-04 15:38:57
[解决办法]
[解决办法]
20
[解决办法]
1
[解决办法]
2
[解决办法]
消息....1
[解决办法]
2013-07-04 15:40:36
[解决办法]
[解决办法]
21
[解决办法]
1
[解决办法]
3
[解决办法]
消息....2
[解决办法]
2013-07-04 15:40:36
[解决办法]
[解决办法]
22
------解决方案--------------------
1
[解决办法]
4
[解决办法]
消息....3
[解决办法]
2013-07-04 15:40:36
[解决办法]
[解决办法]
23
[解决办法]
1
[解决办法]
5
[解决办法]
消息....4
[解决办法]
2013-07-04 15:40:36
[解决办法]
[解决办法]
24
[解决办法]
2
[解决办法]
1
[解决办法]
消息....5
[解决办法]
2013-07-04 15:40:36
[解决办法]
[解决办法]
25
[解决办法]
2
[解决办法]
3
[解决办法]
消息....6
[解决办法]
2013-07-04 15:40:36
------解决方案--------------------
[解决办法]
26
[解决办法]
2
[解决办法]
4
[解决办法]
消息....7
[解决办法]
2013-07-04 15:40:36
[解决办法]
[解决办法]
27
[解决办法]
2
[解决办法]
5
[解决办法]
消息....8
[解决办法]
2013-07-04 15:40:36
[解决办法]
[解决办法]
28
[解决办法]
3
[解决办法]
1
[解决办法]
消息....9
[解决办法]
2013-07-04 15:40:36
[解决办法]
[解决办法]
29
[解决办法]
3
[解决办法]
2
[解决办法]
消息....10
[解决办法]
2013-07-04 15:40:36
[解决办法]
[解决办法]
30
[解决办法]
3
[解决办法]
4
[解决办法]
消息....11
[解决办法]
2013-07-04 15:40:37
[解决办法]
[解决办法]
31
[解决办法]
3
[解决办法]
5
[解决办法]
消息....12
[解决办法]
2013-07-04 15:40:37
[解决办法]
[解决办法]
32
[解决办法]
4
[解决办法]
1
[解决办法]
消息....13
[解决办法]
2013-07-04 15:40:37
[解决办法]
[解决办法]
33
[解决办法]
4
------解决方案--------------------
2
[解决办法]
消息....14
[解决办法]
2013-07-04 15:40:37
[解决办法]
[解决办法]
34
[解决办法]
4
[解决办法]
3
[解决办法]
消息....15
[解决办法]
2013-07-04 15:40:37
[解决办法]
[解决办法]
35
[解决办法]
4
[解决办法]
5
[解决办法]
消息....16
[解决办法]
2013-07-04 15:40:37
[解决办法]
[解决办法]
36
[解决办法]
5
[解决办法]
1
[解决办法]
消息....17
[解决办法]
2013-07-04 15:40:37
[解决办法]
[解决办法]
37
------解决方案--------------------
5
[解决办法]
2
[解决办法]
消息....18
[解决办法]
2013-07-04 15:40:37
[解决办法]
[解决办法]
38
[解决办法]
5
[解决办法]
4
[解决办法]
消息....19
[解决办法]
2013-07-04 15:40:37
[解决办法]
[解决办法]
39
[解决办法]
5
[解决办法]
3
[解决办法]
消息....20
[解决办法]
2013-07-04 15:40:37
[解决办法]
+----+------------+----------+-------------+---------------------+
39 rows in set (0.00 sec)
mysql> select username,content,createDate
-> from (
-> select m.id,m.toUserId as uid,m.content,m.createDate
-> from chat_message m,user_info u
-> where m.fromUserId=u.id
-> and u.username='王五'
-> union all
-> select m.id,m.fromUserId,m.content ,m.createDate
-> from chat_message m, user_info u
-> where m.toUserId=u.id
-> and u.username='王五'
-> order by createDate desc
-> ) t, user_info v
-> where t.uid=v.id
-> group by uid
-> order by createDate desc
-> limit 2;
+----------+------------+---------------------+
[解决办法]
username
[解决办法]
content
[解决办法]
createDate
[解决办法]
+----------+------------+---------------------+
[解决办法]
赵六
[解决办法]
消息....15
[解决办法]
2013-07-04 15:40:37
[解决办法]
[解决办法]
丁七
[解决办法]
消息....20
[解决办法]
2013-07-04 15:40:37
[解决办法]
+----------+------------+---------------------+
2 rows in set (0.02 sec)
mysql>