求mysql高手帮我看看关于多表联合查询语句:查询A表所有记录并按照A表id在B表出现次数排序 20
我有两张表A和BA表AIDname1名字12名字23名字34名字4B表BIDAIDvalue113221623354429553576354我想按照AID在B表里出现的数...
我有两张表A和B
A表
AID name
1 名字1
2 名字2
3 名字3
4 名字4
B表
BID AID value
1 1 32
2 1 62
3 3 54
4 2 95
5 3 57
6 3 54
我想按照AID在B表里出现的数量的排序方式来列出A表里面的信息如:
AID name 在B里的数量
1 名字3 3
2 名字1 2
3 名字2 1
4 名字4 0 展开
A表
AID name
1 名字1
2 名字2
3 名字3
4 名字4
B表
BID AID value
1 1 32
2 1 62
3 3 54
4 2 95
5 3 57
6 3 54
我想按照AID在B表里出现的数量的排序方式来列出A表里面的信息如:
AID name 在B里的数量
1 名字3 3
2 名字1 2
3 名字2 1
4 名字4 0 展开
4个回答
展开全部
SELECT AID,NAME,COUNT(*) '数量' FROM A,B GROUP BY B.value ORDER BY '数量' DESC
我没有数据库不能调试,试试行不行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
百事牛
2024-10-28 广告
2024-10-28 广告
针对Excel表格的密码解锁问题,深圳奥凯丰科技有限公司提供专业的软件解决方案,旨在帮助用户快速、安全地恢复或移除表格中的保护密码。我们的软件采用先进的密码恢复技术,能够有效应对多种加密类型,包括工作簿打开密码、工作表保护密码等。用户只需简...
点击进入详情页
本回答由百事牛提供
展开全部
SELECT a.*,if(b.cnt is null,0,b.cnt) FROM A表 a LEFT JOIN (SELECT aid,count(*) as cnt from B表 group by aid) b ON a.aid=b.aid order by b.cnt desc;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from B left jion A on A.AID=B.AID order by value
追问
不是按照value排序的,是按照A表的每个id在B表出现次数排序,value是个无关主要的字段
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select AID,name,count(*) as num
from A
left join B
on A.AID = B.AID
order by num
from A
left join B
on A.AID = B.AID
order by num
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询