SqlServer数据库查询不同字段-年龄段分析
来源:互联网 发布:更改ss server 端口 编辑:程序博客网 时间:2024/05/17 07:24
在这里,我想得到一组数据,但是又不能直接得到,很头疼,细节如下: 一张表,存储有用户的一些基本信息,比如,出生年月,报名日期,应收金额,实收金额等; 另一张表,存储有不同年龄段的一些信息,比如腾讯Q的找人功能,根据用户筛选条件不同,来找不同的年龄段的数据。 问题就在于,这些数据是直接得不到的。
分享如下:
SELECT datediff(year,fdtmborndate,fdtmdate) AS fintAge,flotShouldAmount,flotSumAmount,CAST('' AS VARCHAR) AS fchrAgeScopeID INTO #t FROM vw_Dfss_Registration WHERE 1=1 AND 9=9
第一步:根据vw_Dfss_Registration视图得到这里可以得到的一些基本信息,如,计算出来的年龄,应收金额,实收金额,并给他一个字段位置。存储到一张临时表里面。下面的where条件是具体项目中的特殊含义,不必理会。
UPDATE #t SET fchrAgeScopeID=s.fchrAgeScopeID FROM dbo.AgeScope s WHERE #t.fintAge BETWEEN s.fintAgeS AND s.fintAgeE AND fintScopeType=1
第二步:在存储年龄段的表里面让每个用户自己对号入座,找到自己属于哪个年龄段了人,那么更新临时表中的年龄信息,更新的依据条件是前面的ID。这样我就把不同人他到底属于哪个年龄段了,给弄到临时表里面了。
SELECT s.fchrDesc,COUNT(*) AS fintCount,SUM(flotShouldAmount) AS flotShouldAmount ,SUM(flotSumAmount) AS flotSumAmount,ROUND( SUM(flotSumAmount)/COUNT(*),0) AS flotPerAvg ,convert(varchar,round(cast(COUNT(*)as float)/cast((SELECT count(*) FROM #t)as float),4)*100)+'%' percentage FROM #t INNER JOIN dbo.AgeScope s ON #t.fchrAgeScopeID = s.fchrAgeScopeID GROUP BY #t.fchrAgeScopeID,s.fchrDesc ORDER BY fchrDesc ASC
第三步:不用多解释了,根据需求显示需要的字段信息。
DROP TABLE #t
最后,释放临时表。
0 0
- SqlServer数据库查询不同字段-年龄段分析
- mysql查询不同年龄段的人数
- sqlserver数据库不同数据库表关联查询
- 查询数据库-字段-表是否存在 sqlserver
- SqlServer字段说明查询
- SQLSERVER查询所有数据库名,表名,和字段名
- SQLSERVER查询所有数据库名,表名,和字段名
- sqlserver 多表查询不同数据库服务器上的表
- 数据库中查询2张表中某两个字段不同的数据
- 不同年龄段的职业目标
- mysql 按照年龄段分组查询
- sqlserver查询语句分析
- Sqlserver查询性能分析
- sqlserver 数据库查询技巧
- sqlserver 数据库查询技巧
- c# 数据库查询sqlserver
- 查询sqlserver数据库Schema
- Sqlserver数据库分页查询
- 既有post提交又有get提交时的后台处理办法
- DNS地址栏输入网站的“域名”,而不用输入网站的“IP地址”。然后电脑系统会利用 DNS 来把“域名”翻译成“IP地址”。这个翻译的过程术语叫“域名解析/DNS解析”。原理
- 静态成员和实例成员
- 如何从软硬件层面提升 Android 动画性能?
- Socket套接字:客户端与服务端进行通信
- SqlServer数据库查询不同字段-年龄段分析
- Winscp连接Amazon Ec2实例传送文件
- C#面向对象--继承
- 插入sql语句01值时,在数据库中的查询时显示为1
- mysql导入.sql错误
- 网页显示电子表
- 设置一键启动多文件
- wait()和sleep()的区别
- 泛型List<T>与非泛型ArrayList