‘壹’ 想把sql中某一列按每十行进行分组求平均值,再把所得的平均值保存在该表新建的一列中,请问如何解决。
注:先把行号查询出来,通过行号分组,计算合计。修改条件是以行号在每组的行号的范围之内。至于显示在其他表,你自己想吧!
update 厚度表 set 平均厚度2=
(
select round(sum(平均厚度)/10)
from
(select 厚度表.*,rownum from 厚度表) t1 group by trunc(rownum/10)
) where
rownum <(select max(rownum) as maxrownum from
(select 厚度表.*,rownum from 厚度表) t1 group by trunc(rownum/10)
)) and >=
(select min(rownum) as minrownum from
(select 厚度表.*,rownum from 厚度表) t1 group by trunc(rownum/10)
))
‘贰’ sql 取分组 最小值
select USERTYPE from CONFIG_USER group by USERTYPE ORDER BY USERTYPE DESC
先分组再排序 取第一个就行了
‘叁’ 如何用SQL语句在表中添加一行记录分别是上面各列的平均值(或最大最小值)
平均值:
insert into table
select AVG(列1),AVG(列2),.... from table
最大值:
insert into table
select MAX(列1),MAX(列2),.... from table
最小值:
insert into table
select MIN(列1),MIN(列2),.... from table
‘肆’ mysql中求平均值最高,或者count()最高最小等等……是有分组的。求教,谢谢。
给你举个例子,你自己按照你所在当前表的情况来进行查询。
例如:
select 列1 avg(列2) as xz from 表 group by 列1 order by xz desc ;
解释:
avg()函数是求某列的平均值,group by是对某列分组,按照SQL标准,分组要和聚合函数一起配合使用才有意义[虽然在mysql中不会报错]。order by xz desc表示的是对xz进行降序,就可以把最高的平均值算出来。
‘伍’ sql语句,同时查询某记录的平均值,最大值,最小值及最大值时间,最小值时间。
select 人名,avg(数据1),avg(数据2),max(数据1),min(数据2)
from 表 group by 人名
这样可以查出,除 数据1时间 和 数据2时间 外的字段,你这连个测试数据都没有,根本就没办法分析你的问题,你既然 取了max(数据1),但又要查询 数据1时间,那你这个 数据1时间 到底想要查的是那个数据1 对应的时间。
‘陆’ SQL分组查询最大值最小值
查询语句参考如下:
select
UserName,--
Convert(char(8),dealTm,112) as date,--日期
min(dealTm) as earliestTime ,--最大
max(dealTm) as latestTime--最小
from t2
group by Convert(char(8),dealTm,112) ,UserName
‘柒’ 请教sql分组后取每组最小值的问题
在分组中使用max()函数即可。例图中表格:按b列分组,求D列最大值:select b,max(d) from a group by b如果是最小,则可以使用 min()函数
‘捌’ sql 查询一行内几列的平均值,最大值,最小值,怎么写
oracle的话直接用greatest函数,sql server的话照这么写:
select t1.name, max(t1.a) maxnum,min(t1.a) minnum,avg(t1.a) avgnum from
(select name,num1 a from tb1
union all
select name,num2 a from tb1
union all
select name,num3 a from tb1
union all
select name,num4 a from tb1
union all
select name,num5 a from tb1
union all
select name,num6 a from tb1
union all
select name,num7 a from tb1) t1
group by t1.name;
测试数据:
create table tb1(name varchar(50),num1 int,num2 int,num3 int,num4 int,num5 int,num6 int,num7 int)
insert into tb1 select 'Tom',1,2,6,7,9,0,3
insert into tb1 select 'Jacky',7,6,5,4,3,2,1
结果:
name maxnum minnum avgnum
Jacky 7 1 4
Tom 9 0 4
‘玖’ SQL 语句 求两个分组的平均值
你好:select avg(writtenExam),avg(labExam) from tablename;
求平均值得话用avg函数。
‘拾’ SQL语句优化-关于分组求平均值
试试我写的这个呢:
select 帐户号,avg(月消费) as 月均消费
from (select 帐户号,月,sum(钱) as 月消费
from 账单 group by 帐户号,月) as 月汇总表
where 帐户号=1111
group by 帐户号
思路就是:先查出一个月汇总表,再从此数据集中用Avg()函数,当然不用Avg()函数的话换成 “sum(月消费)/count(月) as 月均消费” 也行。
要注意:AVG、COUNT、MAX 和 MIN 忽略空值,而 COUNT(*) 不忽略。
GoodLuck!