MYSQL内部联接、分组依据和订单依据使用
我想要将mysql数据库中的数据与sql请求合并 这是messages.tblMYSQL内部联接、分组依据和订单依据使用,mysql,Mysql,我想要将mysql数据库中的数据与sql请求合并 这是messages.tbl id : 1 sender : ali responder : aishe message : hi,how are you aishe xid : md5($sender.$responder)--for using group by xid id : 1 sender : ali responder : aishe message : answer me aishe plase xid : md5($sender
id : 1
sender : ali
responder : aishe
message : hi,how are you aishe
xid : md5($sender.$responder)--for using group by xid
id : 1
sender : ali
responder : aishe
message : answer me aishe plase
xid : md5($sender.$responder)--for using group by xid
这是members.tbl
id : 1
nickname : ali
img : ali.jpg
id:2
nickname : aishe
img : aishe.jpg
members.tbl中的第二个记录
id : 1
nickname : ali
img : ali.jpg
id:2
nickname : aishe
img : aishe.jpg
我希望列表组由xid和最新显示的消息
我的英语很差,对不起。
请帮帮我,伙计们
于是阿里发了50条短信
约翰发了20条短信
还有迈克5条留言
我要写到第页
比如:
阿里的最新消息和阿里的照片
约翰的最新消息和他的照片
迈克的最新消息和他的照片
按最新消息排序,按xid分组(如:44asd32asd12)
理解?如果我理解正确,您希望显示每个用户发送的消息,或者您希望显示每个用户发送的最后一条消息 如果要显示每个用户的消息,可以使用以下查询:
select
members.*, -- Put the fields you want from table members (e.g. members.id, ...)
messages.* -- Put the fields you want from table messages (e.g. messages.message, ...)
from
members
inner join messages on members.nickname = messages.sender;
如果希望每个用户发送最后一条消息,可以使用子查询筛选数据:
select
members.*,
messages.*
from
members
inner join messages on members.nickname = messages.sender
inner join (
select sender, max(id) as maxId
from messages
group by sender
) as a on messages.id = a.maxId;
希望这有帮助不必为你的英语道歉,但如果你提供示例数据(表格形式),然后发布你希望从示例数据中得到的结果,可能会有所帮助像这条最新消息一样,先来谢谢你的提醒,但我犯了这个错误“字段列表中的未知列‘昵称’”@baraka你能把我加入skype吗?我一定需要help@CumhurYrdkl你具体需要什么?您想要的输出是什么?给出错误:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解使用near'.nickname=mesajlar.gonderici内部连接的正确语法(在第6行中选择gonderici,max(id')发送者:gonderici,消息:mesajlar