社区
MS-SQL Server
帖子详情
请教:统计学生平均体重的SQL语法
山卜居士
2003-01-17 05:23:35
有两个表,内容如下,它们之间以id字段相关联:
A表:
id name weight
1 小陈 52
2 小王 58
1 小刘 53
...
B表:
id property value
1 班级 A
1 年龄 22
2 班级 B
2 年龄 25
1 班级 A
1 年龄 21
现在我要分班级统计每个班级学生的平均重量,该如何定SQL?
...全文
194
17
打赏
收藏
请教:统计学生平均体重的SQL语法
有两个表,内容如下,它们之间以id字段相关联: A表: id name weight 1 小陈 52 2 小王 58 1 小刘 53 ... B表: id property value 1 班级 A 1 年龄 22 2 班级 B 2 年龄 25 1 班级 A 1 年龄 21 现在我要分班级统计每个班级学生的平均重量,该如何定SQL?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CCEO
2003-01-17
打赏
举报
回复
B表的id和property是复合键,不允许重复。
??
你的数据就是有重复的。
闪人了!
hjhing
2003-01-17
打赏
举报
回复
turbochen 真乃信人
小弟在此多謝了!
山卜居士
2003-01-17
打赏
举报
回复
我忘了说明,B表的id和property是复合键,不允许重复。
shuangyulove
2003-01-17
打赏
举报
回复
本来是很好写的语句,可你的结构????
CCEO
2003-01-17
打赏
举报
回复
哦,以上数据还是不够,
A表:
id name weight
1 小陈 52
2 小王 58
1 小刘 52
1 小X 49
B表:
id property value
1 班级 A
1 年龄 22
2 班级 B
2 年龄 25
1 班级 A
1 年龄 21
1 班级 A
1 年龄 23
CCEO
2003-01-17
打赏
举报
回复
那说明你的测试数据不够
你把数据改成:
A表:
id name weight
1 小陈 52
2 小王 58
1 小刘 52
B表:
id property value
1 班级 A
1 年龄 22
2 班级 B
2 年龄 25
1 班级 A
1 年龄 21
就三个人,你应该允许“小陈”和“小刘”一样重吧?!
山卜居士
2003-01-17
打赏
举报
回复
CCEO(): 你说上面两位都是错的,但我测试出来是对的。
那你有没有更好的解呢?
CCEO
2003-01-17
打赏
举报
回复
都是错的,讲什么效率?
山卜居士
2003-01-17
打赏
举报
回复
从执行效率上看,tj_dns(愉快的登山者) 比 hjhing(winding) 的快,但我还是守一守信用,分数只加给hjhing(winding) ,
顺便问一下,有什么比较好的书可以提高写SQL的能力?
hjhing
2003-01-17
打赏
举报
回复
老大,你是在測試別人的眼力嗎?
CCEO
2003-01-17
打赏
举报
回复
A表:
id name weight
1 小陈 52
2 小王 58
1 小刘 53
1 小X 51
...
B表:
id property value
1 班级 A
1 年龄 22
2 班级 B
2 年龄 25
1 班级 A
1 年龄 21
1 班级 A
1 年龄 21
....
不可能同班的不许同岁吧??
CCEO
2003-01-17
打赏
举报
回复
表的设计无法苟同!
根本没有办法对应!!
能写出来的,不是魔鬼就是上帝!
愉快的登山者
2003-01-17
打赏
举报
回复
select B.value as 班级, AVG(A.weight) from A left join B
on A.id = B.id where B.property = '班级'
group by B.value
hjhing
2003-01-17
打赏
举报
回复
select [value],AVG(weight)
from
(select distinct B.[id] ,B.[value] , A.weight
from B,A where B.[id] = A.[id] and B.[property] = '班级') as T
group by [value]
山卜居士
2003-01-17
打赏
举报
回复
我的表是1对多的关系,你先不要考虑有没有冗余。
我的分数只加给第一个给出正确答案的人。
hjhing
2003-01-17
打赏
举报
回复
--- try:
select [value],AVG(weight)
from
(select B.[id] ,B.[value] , A.weight
from B,A where B.[id] = A.[id] and B.[property] = '班级') as T
group by [value]
windindance
2003-01-17
打赏
举报
回复
你的表的关系是什么……我怎么觉得B表有明显的冗余呢?
My
SQL
学生
统计
练习
my
sql
> show create table SC \G*************************** 1. row *************************** Table: SCCreate Table: CREATE TABLE `SC` ( `Sid` varchar(10) DEFAULT NULL, `Cid` varc...
SQL
常用语句(面试必备)
SQL
概念和标准
SQL
语言
SQL
英文全称是Structured Query Language,即结构化查询语言
SQL
是关系数据库操作的国际标准语言
SQL
的功能 产生汇总
统计
表 从表和视图中检索数据 合并表和视图中的数据 建立表、视图和索引 修改、添加、提出表中的数据列 更新表中的数据值
SQL
过程举例 Proc
sql
;/*开始
SQL
过程*/ create table te...
SQL
语句每日一练十三
上巴士且不超过重量限制的乘客,并报告。
SQL
HAVING 子句
SQL
HAVING 子句
查询列名在哪张表_
SQL
—多表查询
文章结构:表的加法表的联结表的联结案例case表达式
sql
zoo练习题表的加法【union|并集】:表的加法是指将表的数据按行合并在一起(要求两张表的数据结构一致),是按行进行添加数据。关键字:union all可以将两个表的重复的数据也保存起来。案例:合并下面两张表表course表course1SELECT <列名>,<列名>,<列名>..... FROM ...
MS-SQL Server
34,876
社区成员
254,635
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章