注册 登录
编程论坛 SQL Server论坛

想用select取最大字段的值

SmallKnight 发布于 2007-04-10 08:23, 983 次点击
一个表,有F1、F2、F3、F4四个字段,想用select语句取这四个字段中的最大字段的值,象C#中的Math.Max(Math.Max(Math.Max(F1,F2),F3),F4)这样的功能,如有三条记录,
1,2,3,4
2,3,4,1
3,4,2,1
我想最后取出的是
4
4
4
这样的结果,用case又太麻烦了,大家有什么好建议。
5 回复
#2
Kendy1234562007-04-10 09:43

SQL的函数都是对列起作用 而不是对行

在论坛搜一下 看看行列转置的贴 将这个表行列互换
然后select max(A1),max(A2),Max(A3)

#3
棉花糖ONE2007-04-11 00:00
如果你的第一个字段是主键的话就有办法,不然的话就不行
#4
SmallKnight2007-04-11 16:39
如果是主要键,那又有什么方法?
#5
棉花糖ONE2007-04-11 16:48

利用union把行转列,就能利用聚合函数了

#6
豆芽的天空2007-04-11 17:00

虽然你能做出这种效果出来,但是在做项目的时候是用不到的。只有在数据库设计不是很合理才会出现这样子的问题,对系统开发一点用处都没有。这个有点像学校里面的试题,华而不实。

1