请教一个SQL语句问题

pigleter 2007-06-08 12:46:21
在Access中有个表
ID Name
1 a
1 b
2 c
2 d
2 e
3 f

如何实现
ID Name Count
1 a 2
1 b 2
2 c 3
2 d 3
2 e 3
3 f 1
...全文
147 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwb 2007-06-08
  • 打赏
  • 举报
回复
用内、外连接效率高一些
select a.[ID],[Name],cnt
from tb a inner join (select [id],count([id]) as cnt from tb group by [id]) b
on a.[id]=b.[id]
vbman2003 2007-06-08
  • 打赏
  • 举报
回复
try

select a.[ID],[Name],cnt
from tb a left join (select [id],count([id]) as cnt from tb group by [id]) b
on a.[id]=b.[id]
OracleRoob 2007-06-08
  • 打赏
  • 举报
回复
--用子查询
SELECT A.ID, A.name,(select count(*) from 表名 where id=A.id) as [Count]
FROM 表名 AS A;


--或用域函数

--如果ID是字符型:

SELECT A.ID, A.name,dcount("ID","表名","id='" & A.id & "'") as [Count]
FROM 表名 AS A;


--如果ID是数值型:

SELECT A.ID, A.name,dcount("ID","表名","id=" & A.id) as [Count]
FROM 表名 AS A;

OracleRoob 2007-06-08
  • 打赏
  • 举报
回复
--如果ID是字符型:

SELECT A.ID, A.name,dcount("ID","表名","id='" & A.id & "'") as [Count]
FROM 表名 AS A;


--如果ID是数值型:

SELECT A.ID, A.name,dcount("ID","表名","id=" & A.id) as [Count]
FROM 表名 AS A;




lllyyymmm 2007-06-08
  • 打赏
  • 举报
回复
select id,name,count=(select count(*) from table b where b.id=a.id ) from table a
OracleRoob 2007-06-08
  • 打赏
  • 举报
回复
SELECT A.ID, A.name,(select count(*) from 表名 where id=A.id) as [Count]
FROM 表名 AS A;

7,713

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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