用户消费总金额 2000以下 2000-4000 4000-6000 查询连续数字,统计个数
2010-01-03 11:30
309 查看
createtable tb_1(
id int,
xiaofei money,
userid int,
addtime datetime
)
insertinto tb_1 values(1, 880, 1, getdate())
insertinto tb_1 values(2, 950, 2, getdate())
insertinto tb_1 values(3, 740, 1, getdate())
insertinto tb_1 values(4, 254, 4, getdate())
insertinto tb_1 values(5, 2541, 5, getdate())
insertinto tb_1 values(6, 80, 3, getdate())
insertinto tb_1 values(7, 3870, 1, getdate())
insertinto tb_1 values(8, 100, 2, getdate())
insertinto tb_1 values(9, 180, 3, getdate())
insertinto tb_1 values(10, 3240, 6, getdate())
select*from tb_1
select userid, sum(xiaofei) as'消费总金额'from tb_1 groupby userid orderbysum(xiaofei) desc
select userid,sum(xiaofei) as'2000以下'from tb_1 groupby userid havingsum(xiaofei) <2000
select userid,sum(xiaofei) as'2000-4000'from tb_1 groupby userid havingsum(xiaofei) between2000and4000
select userid,sum(xiaofei) as'4000-6000'from tb_1 groupby userid havingsum(xiaofei) between4000and6000
droptable tb_1
/*
userid 消费总金额
----------- ---------------------
1 5490.00
6 3240.00
5 2541.00
2 1050.00
3 260.00
4 254.00
(6 行受影响)
userid 2000以下
----------- ---------------------
2 1050.00
3 260.00
4 254.00
(3 行受影响)
userid 2000-4000
----------- ---------------------
5 2541.00
6 3240.00
(2 行受影响)
userid 4000-6000
----------- ---------------------
1 5490.00
(1 行受影响)
*/
--查询连续数字,统计个数
create table tb1(NUM INT)
INSERT INTO tb1
SELECT 1
UNION ALL SELECT 2
UNION ALL SELECT 3
UNION ALL SELECT 4
UNION ALL SELECT 5
UNION ALL SELECT 12
UNION ALL SELECT 17
UNION ALL SELECT 18
UNION ALL SELECT 19
UNION ALL SELECT 20
UNION ALL SELECT 25
UNION ALL SELECT 30
go
select * from tb1
drop table tb1,#tb
--sql2000
select num,rid=identity(int,1,1) into #tb from tb1
select min(num) minNum,max(num) maxNum,count(1) cnt
from #tb
group by (num-rid)
having count(*) > 1
--sql2005
select 开始=min(num),结束=max(num),count(1) cnt from (
select row_number()over (order by num) as rid,* from tb1
) a group by num-rid having(count(1)>1)
--结果:
--1 5 5
--12 12 1
--17 20 4
--25 25 1
--30 30 1
id int,
xiaofei money,
userid int,
addtime datetime
)
insertinto tb_1 values(1, 880, 1, getdate())
insertinto tb_1 values(2, 950, 2, getdate())
insertinto tb_1 values(3, 740, 1, getdate())
insertinto tb_1 values(4, 254, 4, getdate())
insertinto tb_1 values(5, 2541, 5, getdate())
insertinto tb_1 values(6, 80, 3, getdate())
insertinto tb_1 values(7, 3870, 1, getdate())
insertinto tb_1 values(8, 100, 2, getdate())
insertinto tb_1 values(9, 180, 3, getdate())
insertinto tb_1 values(10, 3240, 6, getdate())
select*from tb_1
select userid, sum(xiaofei) as'消费总金额'from tb_1 groupby userid orderbysum(xiaofei) desc
select userid,sum(xiaofei) as'2000以下'from tb_1 groupby userid havingsum(xiaofei) <2000
select userid,sum(xiaofei) as'2000-4000'from tb_1 groupby userid havingsum(xiaofei) between2000and4000
select userid,sum(xiaofei) as'4000-6000'from tb_1 groupby userid havingsum(xiaofei) between4000and6000
droptable tb_1
/*
userid 消费总金额
----------- ---------------------
1 5490.00
6 3240.00
5 2541.00
2 1050.00
3 260.00
4 254.00
(6 行受影响)
userid 2000以下
----------- ---------------------
2 1050.00
3 260.00
4 254.00
(3 行受影响)
userid 2000-4000
----------- ---------------------
5 2541.00
6 3240.00
(2 行受影响)
userid 4000-6000
----------- ---------------------
1 5490.00
(1 行受影响)
*/
--查询连续数字,统计个数
create table tb1(NUM INT)
INSERT INTO tb1
SELECT 1
UNION ALL SELECT 2
UNION ALL SELECT 3
UNION ALL SELECT 4
UNION ALL SELECT 5
UNION ALL SELECT 12
UNION ALL SELECT 17
UNION ALL SELECT 18
UNION ALL SELECT 19
UNION ALL SELECT 20
UNION ALL SELECT 25
UNION ALL SELECT 30
go
select * from tb1
drop table tb1,#tb
--sql2000
select num,rid=identity(int,1,1) into #tb from tb1
select min(num) minNum,max(num) maxNum,count(1) cnt
from #tb
group by (num-rid)
having count(*) > 1
--sql2005
select 开始=min(num),结束=max(num),count(1) cnt from (
select row_number()over (order by num) as rid,* from tb1
) a group by num-rid having(count(1)>1)
--结果:
--1 5 5
--12 12 1
--17 20 4
--25 25 1
--30 30 1
相关文章推荐
- spark streaming - kafka updateStateByKey 统计用户消费金额
- spark streaming - kafka updateStateByKey 统计用户消费金额
- 使用streaming window函数统计用户不同时间段平均消费金额等指标
- spark streaming - kafka updateStateByKey 统计用户消费金额
- 使用streaming window函数统计用户不同时间段平均消费金额等指标
- 使用streaming window函数统计用户不同时间段平均消费金额等指标
- 使用streaming window函数统计用户不同时间段平均消费金额等指标
- 作业3-6 查询水果的单价。有 4 种水果,苹果(apples)、梨(pears)、桔子(oranges)和葡萄(grapes),单价分别是 3.00 元/公斤,2.50 元/公斤,4.10 元/公斤和 10.20 元/公斤。在屏幕上显示以下菜单(编号和选项),用户可以连续查询水果的单价,当查询次数
- spark streaming - kafka updateStateByKey 统计用户消费金额
- spark streaming - kafka updateStateByKey 统计用户消费金额
- 23个统计数字揭示搜索用户行为
- 正则表达式:匹配6~16位字符(要求:不能出现空格,不能连续9位以下数字)
- 用shell脚本实现增加,删除用户,查询更改UID和GID以及统计用户数
- 统计用户输入的一串数字中每个数字出现的次数和Winform ComboBox拥有(name,values)
- C 输入一个字符串,将其中连续的数字作为一个整数存到一数组中,统计整数个数并输出这些整数
- 统计某个时段内连续登录N天以上的独立用户IP数量
- 送给大家一个把阿拉伯数字与罗马数字互换的代码 -.- 仅支持4000以下的转化
- 统计字符串中连续数字字符组成的整数的个数
- 将数字转换成金额(统计专业实验报告)
- Mysql断号查询(连续数字查询中间断开的地方)