帮忙写MS-SQL统计分析SQL语句

zippohippo 2020-04-09 03:39:38
数据库为MS-SQL SERVER,库中有两个表,分别为:
1. 用户表:
uid 姓名 性别 地区 学校 年级 班级 ...
1 张三 男 市中区 一中 1 1 ...
2 李四 女 市中区 一中 1 1 ...
3 王五 男 市中区 一中 1 1 ...
4 赵六 女 市中区 三中 1 2 ...
5 刘七 男 市中区 五中 2 7 ...
...

2. 成绩表(字段content值格式为 自定义字段:内容|):
id uid content
1 1 yuwen:70|shuxue:99|yingyu:75|wuli:75|huaxue:98|dili:88|lishi:63|shengwu:68|
2 4 yuwen:55|shuxue:48|yingyu:66|wuli:83|huaxue:74|dili:87|lishi:78|shengwu:59|
3 2 yuwen:60|shuxue:75|yingyu:87|wuli:95|huaxue:86|dili:48|lishi:67|shengwu:77|
4 3 yuwen:88|shuxue:65|yingyu:55|wuli:77|huaxue:58|dili:66|lishi:53|shengwu:62|
...

想要的统计结果为:
1. 市中区 一中 1年级 1班 wuli(物理)成绩70-80区间的学生总数

请问sql语句要怎么写?怎样才能实现?谢谢!
...全文
142 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
北冥小渔夫 2020-04-10
  • 打赏
  • 举报
回复
SELECT COUNT(a.uid) 人数 
FROM 用户表 a, 
(select uid , substring(substring(content,CHARINDEX('wuli',content)+5, LEN(content)),1,
              CHARINDEX('|',substring(content,CHARINDEX('wuli',content)+5, LEN(content)))-1) score  FROM 成绩表) b
WHERE a.uid = b.uid 
AND a.[地区] = '市中区' AND a.[学校]='一中' AND a.[年级]='1' AND a.[班级]='1'
AND b.score >=70 AND b.score <=80

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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