关于一个查询的问题

yangjianw2004 2007-04-20 01:47:31
表 TABLE1:
A B C D
001 张三 100 2007-4-1
002 李四 200 2007-4-2
003 王五 300 2007-4-3
001 张三 200 2007-4-5
002 李四 300 2007-4-1


我想得到的结果是:(只要能出现以下的结果就行,也可以用临时表)最好是速度快的
编号 姓名 出现的次数
001 张三 2
002 李四 2
003 王五 1

...全文
203 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangjianw2004 2007-04-20
  • 打赏
  • 举报
回复
TO __hyc_music1981(穿裤衩的地狱天使) 日期是带时间的

谢谢你的答案!!
yahuu 2007-04-20
  • 打赏
  • 举报
回复
对于第一楼的这样应该就可以
select a,b,count(1) from (select a,b,c from table1 group by a,b,c) as xx group by a,b
mugua604 2007-04-20
  • 打赏
  • 举报
回复
select t2.编号,t1.收费号,t2.时间,t2.次数
from table1 t1
inner join(
select 编号,count(*) 次数,Max(时间) as 时间
from table1
group by 编号
) t2 on t1.编号=t2.编号 and t1.时间=t2.时间
hyc_music1981 2007-04-20
  • 打赏
  • 举报
回复
--这个给你做参考,注意不是答案,因为在最大的日期有两条以上记录时候,它会有问题
select t2.编号,t1.收费号,t2.时间,t2.次数
from table1 t1
join(
select 编号,count(*) 次数,Max(时间) as 时间
from table1
group by 编号
) t2 on t1.编号=t2.编号 and t1.时间=t2.时间
hyc_music1981 2007-04-20
  • 打赏
  • 举报
回复
看到你的日期没有带时间,也就是说,一个日期可能有两条记录,如果编号001没有4月5号那条记录,那1号就有两条记录,取哪个呢?
yuemb369 2007-04-20
  • 打赏
  • 举报
回复
这是个很基础的语句问题,建议搂主看一下 数据库概论sql部分
yangjianw2004 2007-04-20
  • 打赏
  • 举报
回复
TO__hyc_music1981(穿裤衩的地狱天使) 你说的很对 我是应该熟悉一下了

刚才问题没说全面!~
TABLE1 表里字段很多(65个)
下面我简单的再说一遍问题吧!


表 TABLE1:
编号 收费号 金额 日期
001 0001 100 2007-4-1
001 0002 200 2007-4-1
002 0003 200 2007-4-2
003 0004 300 2007-4-3
001 0005 200 2007-4-5
002 0006 300 2007-4-6

我想得到的结果是:(只要能出现以下的结果就行,也可以用临时表)最好是速度快的

编号 收费号 时间 出现的次数
001 0005 2007-4-5 3
002 0006 2007-4-2 2
003 0004 2007-4-3 1

备注:时间取 同个编号的最大时间
收费号取 同个编号的最大时间的相应收费号





hyc_music1981 2007-04-20
  • 打赏
  • 举报
回复
建议楼主多熟悉一下SQL的语法吧
Zack999 2007-04-20
  • 打赏
  • 举报
回复
select A as 编号,B as 姓名,count(*) as 出现次数
from table1
group by A,B
yangjianw2004 2007-04-20
  • 打赏
  • 举报
回复
这两天有点'晕' 怎么好多问题都出现不了 想要的结果

希望大家对这个问题多多帮助呀!

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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