在没有ANY()的情况下哪个是最便宜的聚合函数
如果DBMS没有ANY()聚合函数,我通常使用MAX()或MIN()。
在mySQL和MS-SQL中有更便宜的东西吗?
MySQL 不需要 ANY()聚合。
如果我做了
SELECT field1, field2, SUM(field3) FROM table1
GROUP BY field2
微软的T-SQL会抱怨,但是
MySQL只会默默执行
SELECT whatever(field1), field2, SUM(....
当然,它比SELECT max(field1), field2, SUM(.... GROUP BY field2
快得多
MySQL支持ANY
,但SELECT ANY(field1) ...
不起作用,因为ANY
与IN
和ALL
类似。
请参阅:http://dev.mysql.com/doc/refman/5.0/en/any-in-some-subqueries.html
我喜欢MySQL
ANSI SQL-92中没有任何聚合
有任何限定符匹配一些和所有
MIN和MAX是恰当的聚合......完全不相关,不应该进行比较
编辑:
只有MySQL具有“ANY”聚合的这种模糊性:SQL Server,Sybase,Oracle,PostGres不这样做。 请参阅SELECT列表中的所有列必须出现在GROUP BY子句中
MIN和MAX的价格相当(昂贵)。
链接地址: http://www.djcxy.com/p/30501.html上一篇: Which is the least expensive aggregate function in the absence of ANY()