如何用SQL语句比较多个字段的大小?

jacksoncan 2013-02-14 02:33:08
有一个叫Y的表格,有如下的字段:

代码;
Y2013;
Y2012;
...
Y2007;
最大值;
最小值;
平均值;

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

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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