求查询二次购买人数的oracle语句 如图一个数据表: num:每月每个人购买的次数 customeroid:用户Id 购买月份我想查询2011-03月到2011-05月之间的每月二次购买人数。(二次购买就是购买次数大于1的交易)如果一个人在3月买了1次,4月买了1次,5月买了两次。3月份的二次购买人数不统计此人。而4月的统计由于他在3-4月买了两次所以4月统计此人(统计数加1),5月已经远超两次了所以也统计。希望大虾们帮帮忙! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 图没显示出来,就三个字段 num:每月每个人购买的次数 customeroid:用户Id TradeTime:购买月份 SQL> desc t;Name Type Nullable Default Comments -------- ------------ -------- ------- -------- CUSTID VARCHAR2(10) Y BUYMONTH VARCHAR2(6) Y NUM NUMBER Y SQL> select * from t; CUSTID BUYMONTH NUM---------- -------- ----------001 201103 1001 201104 1001 201105 3002 201104 1002 201105 1003 201105 1 6 rows selected SQL> SQL> SELECT * 2 FROM (SELECT t.*, 3 SUM(t.num) over(PARTITION BY t.custid ORDER BY t.buymonth) uptotal 4 FROM t) 5 WHERE uptotal > 1; CUSTID BUYMONTH NUM UPTOTAL---------- -------- ---------- ----------001 201104 1 2001 201105 3 5002 201105 1 2 SQL> 小弟刚刚接触oracle,多谢帮助了呵呵 over 疑问 关于一个触发器的问题! 关于Number的一些问题,希望各位高手帮忙看下 在查询的数据前面加上标题,想用sql实现 请教sql 在linux系统中安装oracle数据库,安装dbca时报错 大家有谁知道Oracle里竖列变横列的函数是什么呀?着急呀~~~~~~~~~ 我机子是Windows2000系统,我前天装Oracle8.0不知道怎么啦,一直连接不上 向oracle8.1.7导入oracle7.3.2数据的问题-高手请进 一个问题(在线等待) 索引没有被用到?查询速度很慢 where条件里的判断
num:每月每个人购买的次数
customeroid:用户Id
TradeTime:购买月份
Name Type Nullable Default Comments
-------- ------------ -------- ------- --------
CUSTID VARCHAR2(10) Y
BUYMONTH VARCHAR2(6) Y
NUM NUMBER Y
SQL> select * from t;
CUSTID BUYMONTH NUM
---------- -------- ----------
001 201103 1
001 201104 1
001 201105 3
002 201104 1
002 201105 1
003 201105 1
6 rows selected
SQL>
SQL> SELECT *
2 FROM (SELECT t.*,
3 SUM(t.num) over(PARTITION BY t.custid ORDER BY t.buymonth) uptotal
4 FROM t)
5 WHERE uptotal > 1;
CUSTID BUYMONTH NUM UPTOTAL
---------- -------- ---------- ----------
001 201104 1 2
001 201105 3 5
002 201105 1 2
SQL>