关于Sql中的聚合函数的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Sql中的聚合函数的问题相关的知识,希望对你有一定的参考价值。

select MAX(A1.PicVote),MAX(A1.PicID),MAX(A1.PicScore) from PicVoteInfo A1
和 select * from PicVoteInfo where PicVote in (select MAX(picVote) from PicVoteInfo)
哪一句的执行效率会高一点

参考技术A 两个语句得到的结果不一样,
第一个语句 全表扫描一次
实际上 第二个语句中的 执行查询时, 相当于要先执行查询 一 select MAX(picVote) from PicVoteInfo (全表扫描一次)
然后再查询相应最大的投票记录 第二个执行时间肯定要超过第一个追问

结果不一样?这话又是怎么说,都是得到关于最大投票记录的那一条数据记录啊!第一句的sql提出来的ID应该是MaxPicVote的ID吧..这个我也是亲测过的!

追答

最大投票记录PicVote,不一定是最大的PicID 也不一定有最大的PicScore

参考技术B 如果picvote有索引的话,差别应该不是太大,否则第二个会慢一些 不过两个语句功能不一致, 第一个取的是表中3列值各自最大值,也就是说很可能不是一行的数据, 而第二个取的是picvote最大的行。追问

如果我要取那个最大值ID的 只能用第二句了?

本回答被提问者采纳
参考技术C 你这两个语句返回的都不是一个结果。。

SQL Server中的聚合函数都有哪些?

请问SQLServer中的聚合函数有哪些?请问ADD聚合函数在SQLServer中如何使用?... 请问SQL Server中的聚合函数有哪些?请问ADD聚合函数在SQL Server中如何使用? 展开

参考技术A SQL
Server中的聚合函数有:
1.count()
所有记录数
2.count(*)所有非null记录数
3.avg()

某一列平均值
4.min()
某一列最小值
5.max()
某一列最大值
6.sum()
某一列总和
使用方法:
1.

SELECT
COUNT(字段1)
FROM
表A

统计字段1在表A中出现的次数
2.

SELECT
学号,SUM(各科成绩)
FROM
student
GROUP
BY
学号

用来根据统计学生的总成绩

以上是关于关于Sql中的聚合函数的问题的主要内容,如果未能解决你的问题,请参考以下文章

子选择 T-SQL 中的聚合函数

求SQL的聚合函数的定义,特点,注意事项等

sql 2005 聚合函数

SQL Server中的聚合函数都有哪些?

在SQL中的聚合函数

SQL Server中的聚合函数都有哪些?