我偶然发现了一个关于哪些聚合函数适用于DATE类型列的问题(在测试中)。所以,据我了解,COUNT只会计算行数,而MIN和MAX会返回最早/最近的日期。不过,我对SUM和AVG函数有点困惑。他们只是将DATE值转换为整数并计算这些整数的总和/平均值?还是我在这里错了?无论如何,这种行为在所有SQL实现中是否一致? 在此先感谢。SQL:具有DATE类型列的聚合函数
3
A
回答
5
在MS SQL Server中您不能在datetime
类型上调用SUM
运算符,也不能调用AVG
运算符。
MSDN列出了返回类型这里SUM
运营商:
http://msdn.microsoft.com/en-us/library/ms187810.aspx
这也是对您可能调用的SUM
操作类型的有效参考。
编辑:在回答您的意见,您可以使用这样的网站sqlfiddle测试各种实现
http://www.sqlfiddle.com/#!3/22cee/1
考虑的datetime
后端存储不规范,我主张它应该不是可以依赖于任何数据库返回SUM
或AVG
结果可预测的方式....最好不要这样做...
+1
这很有趣,因为我在MySQL的DATE类型列上尝试了SUM和AVG,并且它仅返回了 - 整数和平均值的整数。谢谢您的回答! – sdds
相关问题
- 1. 具有聚合函数的小型SQL任务
- 2. 具有列号或聚合函数的SQL ORDER BY
- 3. 如何选择具有聚合函数sql server的列
- 4. SQL有聚合函数吗?
- 5. 具有聚合函数的行计数
- 6. SQL聚合函数
- 7. SQL聚合函数
- 8. SQL聚合函数
- 9. SQL聚合函数
- 10. 具有where子句的聚合函数
- 11. PostgreSQL - 具有聚合函数的查询
- 12. Sql Server的聚合函数
- 13. SQL中的聚合函数
- 14. 具有不规则时间戳的聚合SQL函数
- 15. SQL选择图像,具有子查询的聚合函数
- 16. 使用具有多个连接的SQL聚合函数
- 17. Dataset.groupByKey +无类型聚合函数
- 18. SQL嵌套聚合函数
- 19. BigDecimal或SQL聚合函数?
- 20. 使用SQL聚合函数
- 21. SQL条件聚合函数
- 22. SQL聚合函数优化
- 23. 使用具有两列以上的聚合函数
- 24. LINQ to SQL组合的聚合函数
- 25. RAD GridView具有子列,分组和聚合函数
- 26. 阵列联合的聚合函数[HIVE]
- 27. 具有类函数的类型转换
- 28. 复合用户类型上的聚合函数
- 29. SQL中'INTERVAL HOUR TO MINUTE'数据类型的聚合函数的精度
- 30. SQL Server中的CONVERT函数用于Date函数的int数据类型
“COUNT只会计算行数”。其实这不太正确。你是对的,'COUNT(*)'计算行数,但是'COUNT(somedatetypecolumn)'计算'somedatetypecolumn'不为NULL的行数。 –
哦,对,我在那里不够明确。 – sdds