求用代码处理数据

weixin_41462661 2018-10-15 10:34:39
文件地址 蓝奏云 https://www.lanzous.com/i23wy6h excel表格

家庭id 相同的是一个一个家庭的
人员编号 家庭成员的编号 每个家庭人数不等
需要求16岁以下65岁以上人口占家庭总人口的比例 可是数据太多了 每个家庭人数还不等 肯定不能一个一个整理吧

我还在上学 整理数据是为了学业论文
我一般要接触spss sata等数据处理软件 代码部分我还不太会
希望哪位大佬能帮忙指导一下 并能推荐一下 以后整理这一类数据需要用什么语言(当然能软件操作更好)
谢谢各位大佬



版主大大 其实我也不知道该发到哪个版块 只不过搜到这个版块有数据处理的
...全文
178 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_41462661 2018-10-15
  • 打赏
  • 举报
回复
引用 5 楼 weixin_41462661 的回复:
[quote=引用 4 楼 yenange 的回复:] [quote=引用 2 楼 weixin_41462661 的回复:] @吉普赛的歌 大佬 我是纯正小白 请问需要什么软件来运行这个代码
你进的是 sqlserver 群, 当然是 sqlserver . 建议 安装 sqlserver2014 或 2017: https://blog.csdn.net/yenange/article/details/50549937 https://blog.csdn.net/yenange/article/details/78622559[/quote] 谢谢大佬 我试下 成功后结账 [/quote] 大佬 我在access sql视图下运行代码 显示错误 请问能access运行这个代码吗 或者代码有错误吗
weixin_41462661 2018-10-15
  • 打赏
  • 举报
回复
引用 4 楼 yenange 的回复:
[quote=引用 2 楼 weixin_41462661 的回复:] @吉普赛的歌 大佬 我是纯正小白 请问需要什么软件来运行这个代码
你进的是 sqlserver 群, 当然是 sqlserver . 建议 安装 sqlserver2014 或 2017: https://blog.csdn.net/yenange/article/details/50549937 https://blog.csdn.net/yenange/article/details/78622559[/quote] 谢谢大佬 我试下 成功后结账
吉普赛的歌 2018-10-15
  • 打赏
  • 举报
回复
引用 2 楼 weixin_41462661 的回复:
@吉普赛的歌 大佬 我是纯正小白 请问需要什么软件来运行这个代码
你进的是 sqlserver 群, 当然是 sqlserver . 建议 安装 sqlserver2014 或 2017: https://blog.csdn.net/yenange/article/details/50549937 https://blog.csdn.net/yenange/article/details/78622559
weixin_41462661 2018-10-15
  • 打赏
  • 举报
回复
引用 1 楼 yenange 的回复:
--将 excel 数据插入到数据库中的表
--用导入导出向导也可以。
select * 
into tmp
from OpenDataSource('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=Yes;IMEX=1;Database=F:\MyDocuments\Downloads\个人数据.xls')...[Sheet1$]
 
--查询
SELECT 
LTRIM(
	(COUNT(1)*100)
	/
	(SELECT COUNT(1) FROM tmp)
)+'%' AS [16岁以下65岁以上人口占家庭总人口的比例] 
FROM tmp WHERE CAST(年龄 AS INT)<16 OR CAST(年龄 AS INT)>65;

/*
16岁以下65岁以上人口占家庭总人口的比例
--------------------------------------
28%
*/

SELECT 
[家庭id]
,
LTRIM(
	(SUM(CASE WHEN CAST(年龄 AS INT)<16 OR CAST(年龄 AS INT)>65 THEN 1 ELSE 0 END)*100)
	/
	COUNT(1)
)+'%' AS [按家庭分组统计16岁以下65岁以上人口占家庭人口的比例]
FROM tmp 
GROUP BY [家庭id]
ORDER BY [家庭id]
/*
家庭id	        按家庭分组统计16岁以下65岁以上人口占家庭人口的比例
2013000001	100%
2013000002	25%
2013000003	100%
2013000004	0%
2013000005	0%
2013000006	100%
2013000007	50%
2013000008	40%
2013000009	33%
2013000010	33%
2013000011	33%
2013000012	100%
2013000013	100%
2013000014	0%
2013000015	100%
…… 数据太多,忽略后面
*/
大佬 我是纯正小白 请问需要什么软件来运行这个代码
weixin_41462661 2018-10-15
  • 打赏
  • 举报
回复
@吉普赛的歌 大佬 我是纯正小白 请问需要什么软件来运行这个代码
吉普赛的歌 2018-10-15
  • 打赏
  • 举报
回复
--将 excel 数据插入到数据库中的表
--用导入导出向导也可以。
select * 
into tmp
from OpenDataSource('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=Yes;IMEX=1;Database=F:\MyDocuments\Downloads\个人数据.xls')...[Sheet1$]
 
--查询
SELECT 
LTRIM(
	(COUNT(1)*100)
	/
	(SELECT COUNT(1) FROM tmp)
)+'%' AS [16岁以下65岁以上人口占家庭总人口的比例] 
FROM tmp WHERE CAST(年龄 AS INT)<16 OR CAST(年龄 AS INT)>65;

/*
16岁以下65岁以上人口占家庭总人口的比例
--------------------------------------
28%
*/

SELECT 
[家庭id]
,
LTRIM(
	(SUM(CASE WHEN CAST(年龄 AS INT)<16 OR CAST(年龄 AS INT)>65 THEN 1 ELSE 0 END)*100)
	/
	COUNT(1)
)+'%' AS [按家庭分组统计16岁以下65岁以上人口占家庭人口的比例]
FROM tmp 
GROUP BY [家庭id]
ORDER BY [家庭id]
/*
家庭id	        按家庭分组统计16岁以下65岁以上人口占家庭人口的比例
2013000001	100%
2013000002	25%
2013000003	100%
2013000004	0%
2013000005	0%
2013000006	100%
2013000007	50%
2013000008	40%
2013000009	33%
2013000010	33%
2013000011	33%
2013000012	100%
2013000013	100%
2013000014	0%
2013000015	100%
…… 数据太多,忽略后面
*/
weixin_41462661 2018-10-15
  • 打赏
  • 举报
回复
引用 8 楼 yenange 的回复:
[quote=引用 7 楼 weixin_41462661 的回复:] 谢谢谢谢 我下载了sql之后 成功了 太开心了 人生第一个运行代码
不客气, 没事就结贴吧 [/quote] 好的 分数已加到你的第一个回答上 谢谢大佬
吉普赛的歌 2018-10-15
  • 打赏
  • 举报
回复
引用 7 楼 weixin_41462661 的回复:
谢谢谢谢 我下载了sql之后 成功了 太开心了 人生第一个运行代码
不客气, 没事就结贴吧
weixin_41462661 2018-10-15
  • 打赏
  • 举报
回复
引用 1 楼 yenange 的回复:
--将 excel 数据插入到数据库中的表
--用导入导出向导也可以。
select * 
into tmp
from OpenDataSource('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=Yes;IMEX=1;Database=F:\MyDocuments\Downloads\个人数据.xls')...[Sheet1$]
 
--查询
SELECT 
LTRIM(
	(COUNT(1)*100)
	/
	(SELECT COUNT(1) FROM tmp)
)+'%' AS [16岁以下65岁以上人口占家庭总人口的比例] 
FROM tmp WHERE CAST(年龄 AS INT)<16 OR CAST(年龄 AS INT)>65;

/*
16岁以下65岁以上人口占家庭总人口的比例
--------------------------------------
28%
*/

SELECT 
[家庭id]
,
LTRIM(
	(SUM(CASE WHEN CAST(年龄 AS INT)<16 OR CAST(年龄 AS INT)>65 THEN 1 ELSE 0 END)*100)
	/
	COUNT(1)
)+'%' AS [按家庭分组统计16岁以下65岁以上人口占家庭人口的比例]
FROM tmp 
GROUP BY [家庭id]
ORDER BY [家庭id]
/*
家庭id	        按家庭分组统计16岁以下65岁以上人口占家庭人口的比例
2013000001	100%
2013000002	25%
2013000003	100%
2013000004	0%
2013000005	0%
2013000006	100%
2013000007	50%
2013000008	40%
2013000009	33%
2013000010	33%
2013000011	33%
2013000012	100%
2013000013	100%
2013000014	0%
2013000015	100%
…… 数据太多,忽略后面
*/
谢谢谢谢 我下载了sql之后 成功了 太开心了 人生第一个运行代码
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

11,849

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧