--好像没有,要自己写
declare @x1 int, @x2 int, @max int
select @x1=10, @x2=15
--取较大者
select @max= case when @x1>@x2 then @x1 else @x2 end
/*或者用if做也比较简单
set @max=@x1
if @x2>@max set @max=@x2
*/
select @max --显示结果
declare @x1 int, @x2 int, @max int
select @x1=10, @x2=15
--取较大者
select @max= case when @x1>@x2 then @x1 else @x2 end
/*或者用if做也比较简单
set @max=@x1
if @x2>@max set @max=@x2
*/
select @max --显示结果
返回表达式的最小值。 语法
MIN ( [ ALL | DISTINCT ] expression ) 参数
ALL对所有的值进行聚合函数运算。ALL 是默认设置。DISTINCT指定每个唯一值都被考虑。DISTINCT 对于 MIN 无意义,使用它仅仅是为了符合 SQL-92 兼容性。expression常量、列名、函数以及算术运算符、按位运算符和字符串运算符的任意组合。MIN 可用于数字列、char 列、varchar 列或 datetime列,但不能用于 bit 列。不允许使用聚合函数和子查询。返回类型
返回类型与 expression 相同。重要 当使用 CUBE 或 ROLLUP 时,不支持区分聚合,例如 AVG(DISTINCT column_name)、COUNT(DISTINCT column_name)、MAX(DISTINCT column_name)、MIN(DISTINCT column_name) 和 SUM(DISTINCT column_name)。如果使用,则 Microsoft® SQL Server™ 就会返回错误信息并结束查询。
注释
MIN 忽略任何空值。对于字符列,MIN 查找排序序列的最低值。示例
下面的示例返回年度销售额最低的书。USE pubs
GO
SELECT min(ytd_sales)
FROM titles
GO下面是结果集:-----------
111 (1 row(s) affected)
结构为(id , m1, m2, m3, ...., m12)
id为员工号, m1为第一个月迟到数, m2为第二个月的迟到数, m3....(依次类推)现在想求每个员工, 一年中, 迟到最多的一个月的迟到次数.
结构为(id , m1, m2, m3, ...., m12)
id为员工号, m1为第一个月迟到数, m2为第二个月的迟到数, m3....(依次类推)现在想求每个员工, 一年中, 迟到最多的一个月的迟到次数.
========
把表转换成
[id] [cishu]
id m1
id m2
id m3
.....
id m12
的形式?
select max([cishu]) from tablename group by id就不知道转换效率如何
呵呵 :)
有如下三列
a b c
3 4 3
4 5 3选出a列和b列中小的一个,用这个值跟c列比,比c列还大的值,应该如何实现啊?谢谢!!
用a列和b列的较小则与c列相比, 然后呢?然后做什么啊?to summerICEREDTEA(过年前争取上星 :)) :
那样肯定慢得离谱的啦。 还不如通过定义一个很多if的用户自定义函数来实现。
select @a=a,@b=b,@c=c from minmax
set @min=@a
if @a>@b set @min=@b
if @min > @c
--你想做什么?
select @min
那样肯定慢得离谱的啦。 还不如通过定义一个很多if的用户自定义函数来实现。
======
哈哈 我学SQL 才1个半月 -。-
只是我怎么想的 就怎么说咯 :)
我连语法都不是很熟悉 还要学习啊
大胆猜想, 小心检验.我学SQL也才两个多月. 彼此彼此. 学习学习. 交流交流.
--不知道楼主是不是这个意思create table tb
(
a int,
b int,
c int
)
insert tb
select '3','4','3' union all
select '4','5','3'select * from tb
where ( case when a>b then b else a end ) >cdrop table tb
/*
4 5 3
*/