
一看IMSI就知道是搞网优的苦/逼
1我用oracle写的,语法大致差不多,试试吧。
2IMSI我记得好像是字符型的,但是连接时长那个我不记得是什么类型了,我当成字符型来写的。
3你中间说对IMSI进行统计,并对连接时长求和,后面又说对IMSI出现数量计数,并对IMSI时长继续汇总??
我的理解你是要统计有哪些IMSI,然后这些IMSI分别出现了多少次,连接时长总和多少,是这样吗?把之前的SQL稍微改了下。
连接时长我用connect_time代替了,假设连接时长类型是字符型的,我直接转成to_number,如果你倒出来的表里面连接时长是时间类型的话,把sum()里面的内容换成to_number(to_char(connect_time))
select IMSI,count(IMSI),sum(to_number(connect_time)) from table_a
group by IMSI
having count(IMSI) between 1 and 10
1、创建测试表,
create table test_SalesStatistics (Goods_Name varchar2(200),Order_Quantity varchar2(200),
Delivery_Date varchar2(200),Store_Abbreviation varchar2(200),
Goodmodel varchar2(200),Workid varchar2(200),Goodname varchar2(200) );
2、插入测试数据,
insert into test_SalesStatistics
select 'name_' || (level / 4),
level / 4,
sysdate - level,
level / 10,
level / 100,
level / 8,
'goods_' || (level / 4)
from dual
connect by level < 10000;
3、创建所需临时表,
create table TEST_MID as
SELECT Store_Abbreviation,
Goodname,
Goodmodel,
SUM(Order_Quantity) AS Order_Quantity,
Workid
FROM (select Goods_Name,
Order_Quantity,
Delivery_Date,
Store_Abbreviation,
Goodmodel,
Workid,
Goodname
from test_SalesStatistics
where to_char(Delivery_Date) between '19980810' and '20000810'
)
GROUP BY Store_Abbreviation, Goodmodel, Workid, Goodname
4、统计每一列不重复的数据量,
select count(distinct Store_Abbreviation) Store_Abbreviation,
count(distinct Goodmodel) Goodmodel,
count(distinct Workid) Workid ,
count(distinct Goodname) Goodname
from TEST_MID t;
你说的当日是指某一天吗?首先你的时间字段的类型必须是datetime类型,如果不是就转换一下。
查询语句可以这样写,假设我们要查询2006年6月1日这一天的数据量。我不知道你的时间字段是不是datetime类型,所以进行了转换。
select count()
from 表
where convert(varchar(8),cast(时间字段 as datetime),112)='20060601'
把“表”和“时间字段”替换成实际的名称就可以了
1
可以的;
2
select
sum(列名),
Count(列名)
From
表
3
你可以把问题描述的更加清楚点,才能更加有针对性的回答。
以上就是关于SQL数据库中对数据进行汇总统计后的数据进行新的汇总查询语句怎么写全部的内容,包括:SQL数据库中对数据进行汇总统计后的数据进行新的汇总查询语句怎么写、sql 查询数据表后 在统计某一列数据不重复的数量、SQL语句如何统计数据库当日信息数量等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)