代码;
Y2013;
Y2012;
...
Y2007;
最大值;
最小值;
平均值;
现在要求比较Y2007-Y2013这几个字段,然后计算出其最大值,最小值和平均值,然后更新到相应的字段中,这个SQL应该怎么写?请高手们指教呀。
9 个解决方案
#1
最大值=
max
(
Y2007
Y2013
),
最小值=
min
(
Y2007
Y2013
)
按照楼主的问题,我只能这么回答了。
max
(
Y2007
Y2013
),
最小值=
min
(
Y2007
Y2013
)
按照楼主的问题,我只能这么回答了。
#2
这样得不出结果啊,我是想问SQL语句该怎么写?
#3
select max(列名) as 最大值,min(列名) as 最小值,avg(列名) as 平均值
from Y
“列名”包含Y2013;
Y2012;
...
Y2007;内容
from Y
“列名”包含Y2013;
Y2012;
...
Y2007;内容
#4
先问清楚问题:
问题1:你这个是access吗?
问题2:每个列是否先要计算出最大最小平均然后再和其他列对比?得出哪个列?
问题1:你这个是access吗?
问题2:每个列是否先要计算出最大最小平均然后再和其他列对比?得出哪个列?
#5
回复版主DBA_Huangzj:
问题1:是access
问题2:不需要对比,各列的关系如下:
最大值=MAX(Y2007,Y2008,...Y2013);
最小值=MIN(Y2007,Y2008,...Y2013);
平均值=AVG(Y2007,Y2008,...Y2013);
就是说每一行中的最大值、最小值和平均值分别是该行中Y2007~Y2013这几个列的最大值,最小值和平均值
问题1:是access
问题2:不需要对比,各列的关系如下:
最大值=MAX(Y2007,Y2008,...Y2013);
最小值=MIN(Y2007,Y2008,...Y2013);
平均值=AVG(Y2007,Y2008,...Y2013);
就是说每一行中的最大值、最小值和平均值分别是该行中Y2007~Y2013这几个列的最大值,最小值和平均值
#6
1、access有专门的语法,和t-sql有一定程度的不兼容,所以最好去数据库开发→其他数据库 那个专区的access专区去问,不然用T-SQL写了access用不到就大家都没意思了。
2、你这个问题,就我的水平来说,我会用列转行,然后再用max、min、avg函数来取,再行转列。
2、你这个问题,就我的水平来说,我会用列转行,然后再用max、min、avg函数来取,再行转列。
#7
没想到这个问题这么复杂啊?我原来以为有内置函数能解决呢。怪不得access版里等了半天都没人回答了,晕。
实际上平均值那一列是好算的,就是:
平均值=(Y2007+Y2008+...+Y2013)/7
但是最大值,最小值那两列,如果用IIF函数判断来算的话,就要写很多,很复杂了,所以我才想问一下高手们有没有内置的函数或简单的方法可行。
实际上平均值那一列是好算的,就是:
平均值=(Y2007+Y2008+...+Y2013)/7
但是最大值,最小值那两列,如果用IIF函数判断来算的话,就要写很多,很复杂了,所以我才想问一下高手们有没有内置的函数或简单的方法可行。
#8
http://bbs.csdn.net/topics/390581734
求解。。
求解。。
#9
楼主,最后如何解决的?
#1
最大值=
max
(
Y2007
Y2013
),
最小值=
min
(
Y2007
Y2013
)
按照楼主的问题,我只能这么回答了。
max
(
Y2007
Y2013
),
最小值=
min
(
Y2007
Y2013
)
按照楼主的问题,我只能这么回答了。
#2
这样得不出结果啊,我是想问SQL语句该怎么写?
#3
select max(列名) as 最大值,min(列名) as 最小值,avg(列名) as 平均值
from Y
“列名”包含Y2013;
Y2012;
...
Y2007;内容
from Y
“列名”包含Y2013;
Y2012;
...
Y2007;内容
#4
先问清楚问题:
问题1:你这个是access吗?
问题2:每个列是否先要计算出最大最小平均然后再和其他列对比?得出哪个列?
问题1:你这个是access吗?
问题2:每个列是否先要计算出最大最小平均然后再和其他列对比?得出哪个列?
#5
回复版主DBA_Huangzj:
问题1:是access
问题2:不需要对比,各列的关系如下:
最大值=MAX(Y2007,Y2008,...Y2013);
最小值=MIN(Y2007,Y2008,...Y2013);
平均值=AVG(Y2007,Y2008,...Y2013);
就是说每一行中的最大值、最小值和平均值分别是该行中Y2007~Y2013这几个列的最大值,最小值和平均值
问题1:是access
问题2:不需要对比,各列的关系如下:
最大值=MAX(Y2007,Y2008,...Y2013);
最小值=MIN(Y2007,Y2008,...Y2013);
平均值=AVG(Y2007,Y2008,...Y2013);
就是说每一行中的最大值、最小值和平均值分别是该行中Y2007~Y2013这几个列的最大值,最小值和平均值
#6
1、access有专门的语法,和t-sql有一定程度的不兼容,所以最好去数据库开发→其他数据库 那个专区的access专区去问,不然用T-SQL写了access用不到就大家都没意思了。
2、你这个问题,就我的水平来说,我会用列转行,然后再用max、min、avg函数来取,再行转列。
2、你这个问题,就我的水平来说,我会用列转行,然后再用max、min、avg函数来取,再行转列。
#7
没想到这个问题这么复杂啊?我原来以为有内置函数能解决呢。怪不得access版里等了半天都没人回答了,晕。
实际上平均值那一列是好算的,就是:
平均值=(Y2007+Y2008+...+Y2013)/7
但是最大值,最小值那两列,如果用IIF函数判断来算的话,就要写很多,很复杂了,所以我才想问一下高手们有没有内置的函数或简单的方法可行。
实际上平均值那一列是好算的,就是:
平均值=(Y2007+Y2008+...+Y2013)/7
但是最大值,最小值那两列,如果用IIF函数判断来算的话,就要写很多,很复杂了,所以我才想问一下高手们有没有内置的函数或简单的方法可行。
#8
http://bbs.csdn.net/topics/390581734
求解。。
求解。。
#9
楼主,最后如何解决的?