请教一个mysql的分组排序问题
tab表如下:
id pubid userid uid msgText msgTime
1 4 1 3 ddd 2015
2 4 3 1 eee 2015
3 3 1 2 abc 2015
4 3 1 2 aaa 2015
5 3 2 1 bbb 2015
6 3 2 1 aaa 2015
7 3 2 1 uuu 2015
8 5 1 4 ooo 2015
9 5 1 4 qaq 2015
已知传递来的一个变量为1。
我希望条件为userid=1 or uid=1
并且以pubid进行分组
排序以id来desc
得出的结果应该为下面这3条
id pubid userid uid msgText msgTime
9 5 1 4 qaq 2015
7 3 2 1 uuu 2015
2 4 3 1 eee 2015
目前我写的sql为:
select max(id) id,msgText,msgTime from tab where userid='1' or uid='1' group by pubid order by id desc
但好像不对 虽然id是对的 但msgText,msgTime不是对应的,有可能会变成:
9 5 1 4 ooo 2015
按理说我要的是
9 5 1 4 qaq 2015
忘大神写一个正确的mysql查询 感激不尽!