繁体   English   中英

MySql SUM(1) 返回表中记录的总数

[英]MySql SUM(1) returns the total count of the records in the table

我遇到了如下查询:

SELECT member_id, prefix, Sum(1) AS Expr1 from .....

我对Sum(1)部分感到困惑。 我不知道它有什么作用。 然后我尝试了一个简化的查询,发现Sum(1)的结果等于表count(*) x 1 中记录的总数

Sum(2)将返回count(*) x 2

Sum(3)将返回count(*) x 3等。

试图在互联网上找到这样的例子并有一些解释,但没有。 Sum 表达式永远不是文字数字。 你能帮我理解这个吗?

正如您所使用的, SUM()函数将对表中所有记录的值/列输入求和(假设没有WHERE子句)。 在这种情况下,您要为每条记录求和一个常数值 1。 请考虑以下示例数据,它们可能会更好地帮助您理解:

member_id | prefix | one (constant 1)
1         | A      | 1  \
2         | B      | 1   - SUM(1) = 3 in this case
3         | C      | 1  /

member_id值的总和将产生 6 作为输出应该是直观的。 如果我们在一个总共有 3 条记录的表中使用SUM(1) ,我们将得到 3,即记录数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM