精华内容
下载资源
问答
  • SQL语句 按年龄段分组统计人数

    千次阅读 2017-08-28 11:43:46
    create table #t(Uname varchar(10),age int) insert #t select '啊啊',19 union all select '信息',23 union all select '宝宝',31 union all select '喔喔',21 union all ...select nnd as '年龄段
    
    create table #t(Uname varchar(10),age int)
    insert #t
    select '啊啊',19 union all 
    select '信息',23 union all  
    select '宝宝',31 union all  
    select '喔喔',21 union all  
    select '米米',6 
    select nnd as '年龄段',count(*) as '人数' from(
     select 
     case
      when age>=1 and age<=10 then '1-10'
      when age>=11 and age<=20 then '11-20'
      when age>=21 and age<=30 then '21-30'
      when age>=31 and age<=40 then '31-40' 
     end 
     as nnd,uname from #t
    )a group by nnd
    
    展开全文
  • SQL语句 按年龄段分组统计人数问题

    千次阅读 2019-02-13 12:24:19
    END AS 年龄段, count(*) AS 人数 FROM user GROUP BY CASE WHEN age IS NULL THEN '未知' WHEN age '小于20岁' WHEN age >= 20 AND age '20岁到30岁' WHEN age >= 30 AND age '30岁到40岁' WHEN age >= ...

     

    SELECT
    	CASE
    WHEN age IS NULL THEN
    	'未知'
    WHEN age < 20 THEN
    	'小于20岁'
    WHEN age >= 20
    AND age < 30 THEN
    	'20岁到30岁'
    WHEN age >= 30
    AND age < 40 THEN
    	'30岁到40岁'
    WHEN age >= 40
    AND age < 50 THEN
    	'40岁到50岁'
    WHEN age >= 50 THEN
    	'50岁以上'
    END AS 年龄段,
     count(*) AS 人数
    FROM
    	user
    GROUP BY
    	CASE
    WHEN age IS NULL THEN
    	'未知'
    WHEN age < 20 THEN
    	'小于20岁'
    WHEN age >= 20
    AND age < 30 THEN
    	'20岁到30岁'
    WHEN age >= 30
    AND age < 40 THEN
    	'30岁到40岁'
    WHEN age >= 40
    AND age < 50 THEN
    	'40岁到50岁'
    WHEN age >= 50 THEN
    	'50岁以上'
    END;

    运行结果: 

     

    展开全文
  • 姓名和年龄,这里数据排除同名同姓,相同年龄的姓名的人可能很多,用sql做一个数据合并,把相同年龄段的人的姓名用逗号拼接 SELECT AGE AS AGE, WMSYS.WM_CONCAT(NAME) as NAME FROM USER_INFO GROUP BY AGE ...

    使用group by + WMSYS.WM_CONCAT来实现

    数据:
    在这里插入图片描述

    sql样例背景:

    姓名和年龄,这里数据排除同名同姓,相同年龄的姓名的人可能很多,用sql做一个数据合并,把相同年龄段的人的姓名用逗号拼接

    SELECT
      AGE AS AGE,
      WMSYS.WM_CONCAT(NAME) as NAME
    FROM
    	USER_INFO
    GROUP BY AGE
    

    结果如下:
    在这里插入图片描述

    这里补充一下:如果要自定义拼接的符号,可以用以下这个方法:

    LISTAGG(NAME,’/’) WITHIN GROUP (ORDER BY AGE)

    展开全文
  • hivesql(4)

    2019-10-18 12:06:10
    有一个5000万的用户文件(user_id,name,age),一个2亿记录的用户看电影的记录文件(user_id,url),...划分年龄段,0-20,20-40,40-60,60–按年龄段分组,按照次数排序 建表 create table forth_user(user_id st...

    有一个5000万的用户文件(user_id,name,age),一个2亿记录的用户看电影的记录文件(user_id,url),根据年龄段观看电影的次数进行排序?

    先求出每个人看了几次电影,t1然后t1和user表join,拼接age字段 t2表
    划分年龄段,0-20,20-40,40-60,60–按年龄段分组,按照次数排序

    建表
    create table forth_user(user_id string,name string,age int);
    create table forth_log(user_id string,url string);

    insert into table forth_user values(‘01’,‘UZI’,10);
    insert into table forth_user values(‘02’,‘MING’,18);
    insert into table forth_user values(‘03’,‘zZiTAI’,30);
    insert into table forth_user values(‘04’,‘LETME’,50);

    insert into table forth_log values(‘01’,‘RNG’);
    insert into table forth_log values(‘01’,‘FPX’);
    insert into table forth_log values(‘02’,‘RNG’);
    insert into table forth_log values(‘03’,‘RNG’);
    insert into table forth_log values(‘04’,‘RNG’);

    数据量大的时候,尽量的先过滤,然后在合并,减少数据量

    		select 
    			t1.user_id,
    			t1.age,
    			t2.con 
    		from forth_user t1 
    		join 
    		(
    			select 
    				user_id,
    				count(*) con 
    			from  forth_log 
    			group by user_id
    		) t2 
    		on t1.user_id=t2.user_id
    

    结果为:

    t1.user_id t1.age t2.con
    001 10 2
    002 18 1
    003 30 1
    004 50 1

    第二步:

    select 
    		t4.category,
    		sum(t4.con) contimes 
    	from 
    	(
    		select 
    			t3.con con,
    			case 
    			when 0<=t3.age and t3.age<20 then 'a' 
    			when 20<=t3.age and 40<t3.age then 'b' 
    			when 40<t3.age and 60<=t3.age then 'c' 
    			else 'd' 
    			end as category 
    		from 
    		(
    			select 
    				t1.user_id,
    				t1.age,
    				t2.con 
    			from forth_user t1 
    			join 
    			(
    				select 
    					user_id,
    					count(*) con 
    				from  forth_log 
    				group by user_id
    			) t2 
    			on t1.user_id=t2.user_id
    		) t3
    	) t4 
    	group by t4.category
    

    结果为:

    t4.category contimes
    a 3
    b 1
    d 1

    最后结果:

    select 
    	t5.category,
    	t5.contimes 
    from 
    (
    	select 
    		t4.category,
    		sum(t4.con) contimes 
    	from 
    	(
    		select 
    			t3.con con,
    			case 
    			when 0<=t3.age and t3.age<20 then 'a' 
    			when 20<=t3.age and 40<t3.age then 'b' 
    			when 40<t3.age and 60<=t3.age then 'c' 
    			else 'd' 
    			end as category 
    		from 
    		(
    			select 
    				t1.user_id,
    				t1.age,
    				t2.con 
    			from forth_user t1 
    			join 
    			(
    				select 
    					user_id,
    					count(*) con 
    				from  forth_log 
    				group by user_id
    			) t2 
    			on t1.user_id=t2.user_id
    		) t3
    	) t4 
    	group by t4.category
    )t5 
    order by t5.contimes desc;
    

    结果为:

    t4.category contimes
    a 3
    b 1
    d 1

    总结一下


    order by
      Hive中的order by和数据库中的order by 功能一致,按照某一项或者几项排序输出,可以指定是升序或者是降序排序。它保证全局有序,但是进行order by的时候是将所有的数据全部发送到一个Reduce中,所以在大数据量的情况下可能不能接受,最后这个操作将会产生一个文件。

    sort by
      sort by只能保证在同一个reduce中的数据可以按指定字段排序。使用sort by 你可以指定执行的reduce个数 (set mapreduce.job.reduce=) 这样可以输出更多的数据。对输出的数据再执行归并排序,即可以得到全部结果。需要注意的是,N个Reduce处理的数据范围是可以重叠的,所以最后排序完的N个文件之间数据范围是有重叠的。

    distribute by
      按照指定的字段将数据划分到不同的输出reduce中,这使用在本博客的《Hive:解决Hive创建文件数过多的问题》有详细的介绍。这个可以保证每个Reduce处理的数据范围不重叠,每个分区内的数据是没有排序的。

    cluster By
      cluster by 除了具有 distribute by 的功能外还兼具 sort by 的功能。 所以最终的结果是每个Reduce处理的数据范围不重叠,而且每个Reduce内的数据是排序的,而且可以打到全局有序的结果。

    展开全文
  • hbase数据:(需求–按年龄分组,求出各年龄段的总人数,计算结果保存mysql) hbase(main):006:0> scan 'p1' ROW COLUMN+CELL ...
  • SQL 实验项目2_2:多表查询

    千次阅读 2019-10-15 11:09:24
    (2)查询全体会员的会员帐号,姓名和年龄并按家庭地址升序排列,同一地址中的会员按年龄降序排列。 (3)查询会员帐号为’liuzc’所购买的商品号和订购日期,并按订购日期升序排列。 (4)查询购买商品号为’...
  • SQL培训第一期

    2018-03-14 15:04:04
    姓名 年龄 联系电话 地址 省 市 详细地址 1.5.2 第二范式 1.5.2.1 规范 属性完全依赖于主键,确保表中每列都与主键相关。 1.5.2.2 举例 订单表 订单Id 商品Id 总金额 商品名称 001 1 10 苹果 001 2 10 橘子 联合...
  •  实例330 仓库分组统计图书库存(多列) 483  实例331 多表分组统计 484  实例332 使用COMPUTE 485  实例333 使用COMPUTE BY 487  10.10 聚合函数 488  实例334 利用聚合函数SUM对销售额...
  • SQL解惑(第2版)--详细书签版

    热门讨论 2012-08-21 01:18:40
    谜题65 产品面向的年龄范围 265 谜题66 数独 267 谜题67 稳定婚姻问题 270 谜题68 搭乘下一班公交车 281 谜题69 LIFO-FIFO库存 284 谜题70 股票趋势 291 谜题71 计算 295 谜题72 预约服务电话 299 谜题73 小型数据...
  • 能够对全校教师信息“学位”、“职称”、“年龄段”进行统计,并做出相应的柱形图和饼图 (注:使用第三方控件ZedGraph.dll) 2) 各系教师信息打印 能够对各系教师信息一定的报表格式打印 (注:使用水晶报表...
  • 实例297 查询指定时间的数据 实例298 月查询数据 实例299 在查询中使用日期函数 9.3 比较、逻辑、重复记录查询 实例300 NOT与谓词进行组合条件的查询 实例301 查询时不显示重复记录 9.4 排序、分组统计 实例302 ...
  • 实例185 仓库分组统计图书库存(多列) 实例186 多表分组统计 实例187 使用compute 实例188 使用compute by 6.12 聚合函数 实例189 利用聚合函数sum对销售额进行汇总 实例190 利用聚合函数avg求某班学生的平均年龄 ...
  • 实例185 仓库分组统计图书库存(多列) 实例186 多表分组统计 实例187 使用compute 实例188 使用compute by 6.12 聚合函数 实例189 利用聚合函数sum对销售额进行汇总 实例190 利用聚合函数avg求某班学生的平均年龄 ...
  • 实例185 仓库分组统计图书库存(多列) 实例186 多表分组统计 实例187 使用compute 实例188 使用compute by 6.12 聚合函数 实例189 利用聚合函数sum对销售额进行汇总 实例190 利用聚合函数avg求某班学生的 平均年龄 ...
  • orcale常用命令

    2009-08-04 00:34:59
    例:为test表增加一列Age,用来存放年龄 sql>alter table test add (Age number(3)); 修改基表列定义命令如下: ALTER TABLE 表名 MODIFY (列名 数据类型) 例:将test表中的Count列宽度加长为10个字符 sql>...
  • C#.net_经典编程例子400个

    热门讨论 2013-05-17 09:25:30
    116 2.11 焦点变换与输入控制 117 实例088 回车键焦点在控件中移动的录入窗口 117 实例089 程序运行时拖动控件 119 实例090 控件得到焦点时变色 120 实例091 控件的输入限制 121 2.12...
  • 全书分为20章,内容包括窗体与界面设计、控件应用、组件应用、图形技术、多媒体技术、文件系统、操作系统与Windows相关程序、注册表、数据库技术、SQL查询相关技术、报表与打印技术、图表技术、硬件相关开发技术、...
  • 实例220 仓库分组统计图书库存(多列) 实例221 多表分组统计 实例222 使用COMPUTE关键字 实例223 使用COMPUTE BY关键字 447 7.1 聚合函数 实例224 利用聚合函数SUM对销售额进行汇总 实例225 利用聚合函数...
  • 实例220 仓库分组统计图书库存(多列) 实例221 多表分组统计 实例222 使用COMPUTE关键字 实例223 使用COMPUTE BY关键字 447 7.1 聚合函数 实例224 利用聚合函数SUM对销售额进行汇总 实例225 利用聚合函数...
  • 实例097 回车键焦点在控件中移动的录入窗口 140 实例098 程序运行时拖动控件 141 实例099 控件得到焦点时变色 142 实例100 控件的输入限制 143 2.12 特殊控件 144 实例101 为控件制作立体效果 144 实例102 获取...
  • C#程序开发范例宝典(第2版).part02

    热门讨论 2012-11-12 07:55:11
    实例097 回车键焦点在控件中移动的录入窗口 140 实例098 程序运行时拖动控件 141 实例099 控件得到焦点时变色 142 实例100 控件的输入限制 143 2.12 特殊控件 144 实例101 为控件制作立体效果 144 实例102 ...
  • C#程序开发范例宝典(第2版).part13

    热门讨论 2012-11-12 20:17:14
    实例097 回车键焦点在控件中移动的录入窗口 140 实例098 程序运行时拖动控件 141 实例099 控件得到焦点时变色 142 实例100 控件的输入限制 143 2.12 特殊控件 144 实例101 为控件制作立体效果 144 实例102 ...
  • 程序开发范例宝典>>

    2012-10-24 10:41:28
    全书包括窗体与界面设计、控件应用、组件应用、图形技术、多媒体技术、文件系统、操作系统与Windows相关程序、注册表、数据库技术、SQL查询相关技术、LINQ查询技术、报表与打印技术、图 表技术、硬件相关开发技术、...
  • 实例097 回车键焦点在控件中移动的录入窗口 140 实例098 程序运行时拖动控件 141 实例099 控件得到焦点时变色 142 实例100 控件的输入限制 143 2.12 特殊控件 144 实例101 为控件制作立体效果 144 实例102 ...
  • 实例097 回车键焦点在控件中移动的录入窗口 140 实例098 程序运行时拖动控件 141 实例099 控件得到焦点时变色 142 实例100 控件的输入限制 143 2.12 特殊控件 144 实例101 为控件制作立体效果 144 实例102 ...
  • 实例097 回车键焦点在控件中移动的录入窗口 140 实例098 程序运行时拖动控件 141 实例099 控件得到焦点时变色 142 实例100 控件的输入限制 143 2.12 特殊控件 144 实例101 为控件制作立体效果 144 实例102 ...

空空如也

空空如也

1 2 3 4 5
收藏数 81
精华内容 32
关键字:

sql按年龄段分组