m**k 发帖数: 4039 | 1 SQL里有什么function能返回一组数中绝对值最大的么?
SQL是类似于这样的:
Select A, B, Max(C)
FROM T
Group by A, B
所以不能用SIGN(), 有什么现成的函数么?
多谢了先 | i****a 发帖数: 36252 | 2 books online, or google
http://msdn.microsoft.com/en-us/library/ms189800.aspx
【在 m**k 的大作中提到】 : SQL里有什么function能返回一组数中绝对值最大的么? : SQL是类似于这样的: : Select A, B, Max(C) : FROM T : Group by A, B : 所以不能用SIGN(), 有什么现成的函数么? : 多谢了先
| y****w 发帖数: 3747 | 3 u don't have ABS()?
【在 m**k 的大作中提到】 : SQL里有什么function能返回一组数中绝对值最大的么? : SQL是类似于这样的: : Select A, B, Max(C) : FROM T : Group by A, B : 所以不能用SIGN(), 有什么现成的函数么? : 多谢了先
| B*****g 发帖数: 34098 | 4 有现成的,而且也可以用sign()
【在 m**k 的大作中提到】 : SQL里有什么function能返回一组数中绝对值最大的么? : SQL是类似于这样的: : Select A, B, Max(C) : FROM T : Group by A, B : 所以不能用SIGN(), 有什么现成的函数么? : 多谢了先
| m**k 发帖数: 4039 | 5 答案其实是没有现成的, 我后来想过了, 这样的function没有特定的返回值, 是不可能
存在的. 例如, 有一行的C是-4, 一行的C是4, 那么这个function就不知道该返回-4还
是4了.
至于sign(), 因为C不在group by的column里面, 而且sign()不是aggregate function
所以不可以用
【在 B*****g 的大作中提到】 : 有现成的,而且也可以用sign()
| m**k 发帖数: 4039 | 6 你跟楼上的给的都不是我要求的.
我要的是绝对值最大的行, 不是最大的绝对值
【在 y****w 的大作中提到】 : u don't have ABS()?
| B*****g 发帖数: 34098 | 7 你问题说的就不清楚,举例
【在 m**k 的大作中提到】 : 你跟楼上的给的都不是我要求的. : 我要的是绝对值最大的行, 不是最大的绝对值
| d****i 发帖数: 4354 | 8 seem like you have to use subquery to find the max-abs value, then select
the row using "having"
【在 m**k 的大作中提到】 : SQL里有什么function能返回一组数中绝对值最大的么? : SQL是类似于这样的: : Select A, B, Max(C) : FROM T : Group by A, B : 所以不能用SIGN(), 有什么现成的函数么? : 多谢了先
| i****a 发帖数: 36252 | 9 top 1
order by
【在 m**k 的大作中提到】 : 你跟楼上的给的都不是我要求的. : 我要的是绝对值最大的行, 不是最大的绝对值
| w****w 发帖数: 521 | 10 Select A, B, Max(SQRT(C*C))
FROM T
Group by A, B
【在 m**k 的大作中提到】 : SQL里有什么function能返回一组数中绝对值最大的么? : SQL是类似于这样的: : Select A, B, Max(C) : FROM T : Group by A, B : 所以不能用SIGN(), 有什么现成的函数么? : 多谢了先
|
|