欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

oracle查询,该如何解决

更新时间: 2014-01-05 02:11:18 责任编辑: Author_N1

 

Oracle查询
有一个ORACLE数据库表TEST,有四个字段,用户ID USER_ID(NUMBER),商品类型ID TYPE_ID(NUMBER),商品价格 PRICE(NUMBER),购买时间 CREATE_TIME(DATE)    (每条记录用户只购买一件商品)   
(1) 查出表中不同的用户总数    
(2) 查出本月销售总额   
(3) 查出每天的(不同)用户数,总购买次数,销售额    
(4) 查出所有用户总的购买次数,购买的商品类型总数,该用户购买的商品的平均价格,总价    
(5) 查出所有用户每种商品类型的购买次数    
(6) 查出购买过2次(含)以上的用户列表    
(7) 查出购买过商品1(商品ID为1)且购买过商品2(商品ID为2)的所有用户列表    
(8) 查出购买商品1(商品ID为1)超过2次(含)且购买过商品2(商品ID为2)超过2次(含)的所有用户列表    
(9) 查出今年1月和2月都购买商品超过2次(含)的所有用户列表    
(10) 查出商品购买次数的人数列表,如:        购买1次  100人        购买2次  50人        ... 
--参考方法--
按LZ给出的字段 写了3个


create table TEST (USER_ID NUMBER,TYPE_ID NUMBER,PRICE NUMBER,CREATE_TIME DATE);

insert into TEST values (1,1,199,date'2012-01-01');
insert into TEST values  (2,2,299,date'2012-01-01');
insert into TEST values  (3,2,299,date'2012-01-01');
insert into TEST values  (4,1,199,date'2012-01-01');
insert into TEST values  (1,3,399,date'2012-01-11'); 
insert into TEST values  (1,4,499,date'2012-01-11');
insert into TEST values  (3,3,399,date'2012-02-01');
insert into TEST values  (1,5,599,date'2012-02-01');
insert into TEST values  (4,2,299,date'2012-02-01');
insert into TEST values  (4,3,399,date'2012-02-01');
insert into TEST values  (4,4,499,date'2012-02-01');
insert into TEST values  (5,3,399,date'2012-03-01');
insert into TEST values  (1,4,499,date'2012-03-01');
insert into TEST values  (1,3,399,date'2012-04-01');
insert into TEST values  (2,4,499,date'2012-04-01');
       
--(1) 查出表中不同的用户总数
select count(distinct USER_ID) c_user
from TEST;

--(2) 查出本月销售总额
select sum(PRICE) s_price
from TEST
where to_char(sysdate,'yyyy-mm')=to_char(CREATE_TIME,'yyyy-mm')

--(3) 查出每天的(不同)用户数,总购买次数,销售额
select CREATE_TIME,count(distinct USER_ID) c_user,count(TYPE_ID) c_type,sum(PRICE) s_price
from TEST
group by CREATE_TIME

--参考方法--
--(3) 查出每天的(不同)用户数,总购买次数,销售额
select CREATE_TIME,count(distinct USER_ID) c_user,count(TYPE_ID) c_type,sum(PRICE) s_price
from TEST
group by CREATE_TIME


这个有问题,购买次数不能按 商品来算,应该按 购买时间来算。
--参考方法--
引用:
--(3) 查出每天的(不同)用户数,总购买次数,销售额
select CREATE_TIME,count(distinct USER_ID) c_user,count(TYPE_ID) c_type,sum(PRICE) s_price
from TEST
group by CREATE_TIME


这个有问题,购买次数不能按 商品来算,应该按 购买时间来算。


 只是一个购买次数  价格也只有一个 买2件的话 价格*2 但是数据还是一条 统计价格和时间 没什么区别
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:11:18
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6744/
本文WWW.DOC100.NET DOC100.NET版权所有。