求sql语句

inl 2005-04-21 02:21:52
求助:
有一表abc
sj name
------- -------
05-01-01 张
05-01-02 王
05-01-02 李
05-01-02 刘
05-01-03 周
05-01-04 贾
05-01-04 孙
05-01-04 苏

求05-01-03这一天的name数的总量是:
select count(*) from abc where sj<to_date('050104','yymmdd');

结果:
count(*)
--------
5

求一条语句能统计如下结果
时间 当天为止id的总数
--------- -----------------
05-01-01 1
05-01-02 3
05-01-03 5
05-01-04 8
...全文
101 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
inl 2005-04-21
  • 打赏
  • 举报
回复
已经找到答案拉,谢谢各位。


SQL> select a,sum(b) over(order by a) from
2 (
3 select to_char(sj,'yy-mm-dd') as a,count(*) as b from abc group by to_char(sj,'yy-mm-dd')
4 );

A SUM(B)OVER(ORDERBYA)
-------- --------------------
05-04-13 1
05-04-20 2
05-04-23 4
inl 2005-04-21
  • 打赏
  • 举报
回复
谢谢各位的回复,
怪我没说清,这样说吧:
现有一表abc
时间sj 主叫号码hm
------- --------------
05-01-01 1234678
05-01-02 7777777
05-01-02 6666666
05-01-02 8899999
05-01-03 7777777
05-01-04 8888888
05-01-04 7777777
05-01-04 6777888

求05-01-03这一天及以前的呼叫累计数的总量是:
select count(*) from abc where sj<to_date('050104','yymmdd');
结果:
count(*)
--------
5

求一条语句能统计如下结果
时间 当天为止累计的呼叫总数
--------- -----------------
05-01-01 1 ---第一天共有一条呼叫
05-01-02 3 ---第二天为止共有3条呼叫
05-01-03 5 ---第三天为止共有5条呼叫
05-01-04 8 ---第四天为止共有8条呼叫


zakat 2005-04-21
  • 打赏
  • 举报
回复
当然可以实现了:
如果统计id重复的情况:
select c.a,count(c.b) from (select trunc(cola,'dd') a, colb b from t_aaa) c group by c.a;
如果统计id不重复的情况:
select c.a,count(distinct c.b) from (select trunc(cola,'dd') a, colb b from t_aaa) c group by c.a;
tonyfi26 2005-04-21
  • 打赏
  • 举报
回复
select sj,count(name) from abc group by sj;
tonyfi26 2005-04-21
  • 打赏
  • 举报
回复
用GROUP BY语句.
select count(name) from abc group by sj;
yangtom 2005-04-21
  • 打赏
  • 举报
回复
不通。无法实现。没有规律。需求不清。发还客户重填。

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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