超难sql语句,怎么写???急 急 急

ptxiaolinzi886 2009-07-15 05:03:43
有两个表,A表,B表,
A表包括三个字段 id title,aa 里面有如下内容
id title aa
1 a sdfg
2 b 2dfg
3 a s3fg
4 a sdffg
5 c s43fg
6 a s7g
7 b s64fg
8 d sffg
9 e sfsfg
10 f 1sfsfg

B表包括二个字段 id title
id title
1 a
2 b
3 c

现在问题是,我想写一个这样的SQL,(select * from B ),但是我想按A表所对应title重复的次数大小排序并写出重复次数,比如:a重复次数4,b重复次数2,c重复次数1
这样输出来的是

a 4
b 2
c 1


这个sql语句怎么写呢,各位帮帮忙呀,太谢谢了,
...全文
26 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
ptxiaolinzi886 2009-07-16
  • 打赏
  • 举报
回复
谢谢了,结单
lzp4881 2009-07-15
  • 打赏
  • 举报
回复
select B.title,count(A.title) as sl from B left join A on B.title=A.title group by B.title order by count(A.title) desc,min(B.id)
ptxiaolinzi886 2009-07-15
  • 打赏
  • 举报
回复
加上去没什么效果呀,
重复数一样的话,B表的id越小越靠前,,,我是想做成这样的,
lzp4881 2009-07-15
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 ptxiaolinzi886 的回复:]
在排序上,如果重复数一样的话,我想按ID再做第二排序,order by count(A.title) desc,B.id desc 这样子好像不行,要怎么改呢,
[/Quote]
order by count(A.title) desc,min(B.id) desc 或者order by count(A.title) desc,max(B.id) desc
ptxiaolinzi886 2009-07-15
  • 打赏
  • 举报
回复
在排序上,如果重复数一样的话,我想按ID再做第二排序,order by count(A.title) desc,B.id desc 这样子好像不行,要怎么改呢,
lzp4881 2009-07-15
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 ptxiaolinzi886 的回复:]
不好意思,还有个条件,,比如B表中的title ,如果有一个值是p,而A表中不存在,但是也要输出来,楼上的sql语句是可以,但是就是不能把B表有的title,而A表中没有的,,这样子不能输出来
[/Quote]
可以啊,我测试的可以的
aaaa 3
bbbb 2
cccc 1
dddd 1
eeee 1
ffff 0
ptxiaolinzi886 2009-07-15
  • 打赏
  • 举报
回复
不好意思,还有个条件,,比如B表中的title ,如果有一个值是p,而A表中不存在,但是也要输出来,楼上的sql语句是可以,但是就是不能把B表有的title,而A表中没有的,,这样子不能输出来
lianhui1122 2009-07-15
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lzp4881 的回复:]
select B.title,count(A.title) as sl from B left join A on B.title=A.title group by B.title order by count(A.title) desc
[/Quote]
up
ptxiaolinzi886 2009-07-15
  • 打赏
  • 举报
回复
有两个表,A表,B表,
A表包括三个字段 id title,aa 里面有如下内容
id title aa
1 a sdfg
2 b 2dfg
3 a s3fg
4 a sdffg
5 c s43fg
6 a s7g
7 b s64fg
8 d sffg
9 e sfsfg
10 f 1sfsfg

B表包括二个字段 id title
id title
1 a
2 b
3 c
4 p

现在问题是,我想写一个这样的SQL,(select * from B ),但是我想按A表所对应title重复的次数大小排序并写出重复次数,比如:a重复次数4,b重复次数2,c重复次数1
这样输出来的是

a 4
b 2
c 1
p 0
ptxiaolinzi886 2009-07-15
  • 打赏
  • 举报
回复
对了,不好意思,还有个条件,,比如B表中的title ,如果有一个值是p,而A表中不存在,但是也要输出来,楼上的sql语句是可以,但是就是不能把B表有的title,而A表中没有的,,这样子不能输出来
lzp4881 2009-07-15
  • 打赏
  • 举报
回复
select B.title,count(A.title) as sl from B left join A on B.title=A.title group by B.title order by count(A.title) desc
ptxiaolinzi886 2009-07-15
  • 打赏
  • 举报
回复
为什么会出现,,,试图执行的查询中不包含作为合计函数一部分的特定表达式 'title' 。 这个错误呢,,
凡夫与俗子 2009-07-15
  • 打赏
  • 举报
回复
都是牛人。努力
sy_binbin 2009-07-15
  • 打赏
  • 举报
回复
select B.title,count(A.title) as count from B left join A on B.title=A.title order by count desc
lzp4881 2009-07-15
  • 打赏
  • 举报
回复
select B.title,count(A.title) as sl from B left join A on B.title=A.title order by count(A.title) desc
黑心 2009-07-15
  • 打赏
  • 举报
回复
HOHO 楼上强人
  • 打赏
  • 举报
回复
select B.title,sum(A.title) as count from B left join A on B.title=A.title order by sum(A.title) desc
  • 打赏
  • 举报
回复
select B.title,sum(A.title) from B left join A on B.title=A.title

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧