oracle查询条件中使用聚合函数

oracle查询条件中使用聚合函数,第1张

SELECT TOP 1 AAA

FROM N

ORDER BY BBB ASC --升序的第1条,就是最小

聚合函数都不需要:)

不好意思,用的是T-SQL语法,请自行转换成ORACLE的语法。

1、AVG(DISTINCT|ALL)

ALL表示对所有的值求平均值,DISTINCT只对不同的值求平均值。

SELECTAVG(SAL)FROMSCOTT.EMP

SELECTAVG(DISTINCTSAL)FROMSCOTT.EMP

2、MAX(DISTINCT|ALL)

求最大值,ALL表示对所有的值求最大值,DISTINCT表示对不同的值求最大值,相同的只取一次。

(加不加查询结果一致,不知DISTINCT有什么用途,不同于AVG等聚合函数)

SELECTMAX(DISTINCTSAL)FROMSCOTT.EMP

SELECTMAX(SAL)FROMSCOTT.EMP

3、MIN(DISTINCT|ALL)

求最小值,ALL表示对所有的值求最小值,DISTINCT表示对不同的值求最小值,相同的只取一次。

SELECTMIN(SAL)FROMSCOTT.EMP

SELECTMIN(DISTINCTSAL)FROMSCOTT.EMP

4、STDDEV(distinct|all)

求标准差,ALL表示对所有的值求标准差,DISTINCT表示只对不同的值求标准差。

SELECTSTDDEV(SAL)FROMSCOTT.EMP

SELECTSTDDEV(DISTINCTSAL)FROMSCOTT.EMP

5、VARIANCE(DISTINCT|ALL)

求协方差,ALL表示对所有的值求协方差,DISTINCT表示只对不同的值求协方差。

SELECTVARIANCE(SAL)FROMSCOTT.EMP

SELECTVARIANCE(DISTINCTSAL)FROMSCOTT.EMP

6、SUM(DISTINCT|ALL)

求和,ALL表示对所有值求和,DISTINCT表示只对不同值求和(相同值只取一次)。

SELECTSUM(SAL)FROMSCOTT.EMP

SELECTSUM(DISTINCTSAL)FROMSCOTT.EMP

7、COUNT(DISTINCT|ALL)

求记录、数据个数,ALL对所有记录,数组做统计,DISTINCT只对不同值统计(相同值只取一次)。

SELECTCOUNT(SAL)FROMSCOTT.EMP

SELECTCOUNT(DISTINCTSAL)FROMSCOTT.EMP

8、MEDIAN

求中位数

SELECTMEDIAN(SAL)FROMSCOTT.EMP

SELECTMEDIAN(DISTINCTSAL)FROMSCOTT.EMP --错误:DISTINCT选项在此函数中禁用。

Max(列), AVG(列)

任意数的阶乘:

CREATE PROCEDURE PROCEDURENAME

@INUPT INT

AS

DECLARE @RESULT INT

WHILE @INTUPT>0

BEGIN

RESULT=@INPUT*(@INPUT-1)

SET @INPUT=@INPUT-1

END

SELECT RESULT=@RESULT

GO

如:exec PROCEDURENAME 9

像查询一样调用这个存储过程,就会得到你要的数的阶乘。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10068498.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存