求一条sql语句,查询2个表,根据其中一个表的数据行数进行排序的问题

表A-------------------字段ID姓名-------------------表B-------------------字段ID购买产品名称--------... 表A
-------------------
字段

ID 姓名
-------------------

表B
-------------------
字段

ID 购买产品名称
-------------------

表A 是用户表,用来存放用户的数据 (1对1)
表B 是存放用户购买产品的数据 (1对多)

用户每够买一个产品,产品表就会多存储一行数据

求一条SQL语句

查询 表A.ID 按照 表B里面的改用户购买的产品的数据行数 进行排序

请写出具体的SQL语句

谢谢
补充:

表A
-------------------
字段

ID 姓名
-------------------

表B
-------------------
字段

ID 购买产品名称 用户表ID(存储的是A表.ID)
-------------------

select * from 表A ORDER BY (SELECT COUNT(1) FROM 表B WHERE 表B.ID=表A.ID)

WHITE_WIN

语法错误....
展开
 我来答
WHITE_WIN
2008-10-11 · TA获得超过6111个赞
知道大有可为答主
回答量:3759
采纳率:50%
帮助的人:1928万
展开全部
那就改一下关联字段就行了
select * from 表A ORDER BY (SELECT COUNT(1) FROM 表B WHERE 用户表ID=表A.ID)
另外,您还可以把行数在查询中显示出来,并按照行数从多到少的顺序排列:
select *,
(SELECT COUNT(1) FROM 表B WHERE 用户表ID=表A.ID) as 行数
from 表A
ORDER BY (SELECT COUNT(1) FROM 表B WHERE 用户表ID=表A.ID) desc

就是说:你要是懂得了表达式和子查询同样可以作为排序使用,以后许多问题你就会迎刃而解了
极速love锋狂
2008-10-17 · TA获得超过147个赞
知道小有建树答主
回答量:767
采纳率:0%
帮助的人:0
展开全部
先根据ID查询购买的产品数即行数(hangshu)
select ID,count(*) as hangshu into #1 from 表B group by ID desc

在根据行数排序查询对应的ID购买的商品记录
select 表A.ID,表B.购买产品名称 from #1,表B where #1.ID = 表B.ID order by hangshu desc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanluo007
2008-10-12 · TA获得超过1123个赞
知道小有建树答主
回答量:836
采纳率:0%
帮助的人:779万
展开全部
这个问题不难,需要利用到对查询的结果字段使用别名,具体的SQL语句如下:
select 表A.ID,表A.姓名,(SELECT COUNT(1) FROM 表B WHERE 表B.用户表ID=表A.ID) as 购买数量 from 表A ORDER BY 购买数量
呵呵,希望解决了问题,^_^
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mailking2001
2008-10-11 · TA获得超过817个赞
知道小有建树答主
回答量:1037
采纳率:100%
帮助的人:758万
展开全部
select * from 表A ORDER BY (SELECT COUNT(1) FROM 表B WHERE 表B.ID=表A.ID)
这个在SQLserver 2000中对的,这就是相关子查询的用法。
不知道提问者用的是什么数据库
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AdaEniac
2008-10-21 · TA获得超过102个赞
知道小有建树答主
回答量:99
采纳率:0%
帮助的人:92万
展开全部
查询 表A.ID 按照 表B里面的改用户购买的产品的数据行数 进行排序

按照你的说法,就是想得到 购买产品的 A.ID 的排序.

表B
-------------------
字段
ID 购买产品名称 用户表ID(存储的是A表.ID) 很显然 购物清单表里有A.ID

select B.用户表ID
from (
select 用户表ID, Cout(购买产品名称) as ID
from B
group by 用户表ID ) as B
order by B.ID

希望有所帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式