首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么标准版不允许计数(col1,col2,...,colN)

为什么标准版不允许计数(col1,col2,...,colN)
EN

Stack Overflow用户
提问于 2016-08-01 21:49:49
回答 2查看 64关注 0票数 1

事情很简单,为什么SQL-Standard不允许COUNT(col1, col2, ..., colN)?背后的原因是什么?

这很奇怪,因为反之亦然,SQL标准允许COUNT(DISTINCT col1, col2, ..., colN)

EN

回答 2

Stack Overflow用户

发布于 2016-08-02 00:11:06

你想要什么?简单地说,COUNT(*)会给你“想要的”答案。

  • COUNT(*)通常是可以使用的东西。它计算行数(在按GROUP BY).
  • COUNT(col)进行过滤之后,这很常见,但通常不是必需的--它用col IS NOT NULL.
  • COUNT(DISTINCT col)计算行数确定col.
  • COUNT(DISTINCT col1, col2)有多少不同的值确定col1和col2的组合有多少不同的值。

如果您想知道为什么MySQL/MariaDB选择省略该语法,您可能需要询问开发SQL标准的人。

票数 0
EN

Stack Overflow用户

发布于 2016-08-01 21:56:43

COUNT(NAME),COUNT(SURNAME)得到所有的名字和姓氏。在这种情况下,一切都是非法的。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38700605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档