gpt4 book ai didi

mysql - 计算 MySQL 中的行以及实际的行内容

转载 作者:可可西里 更新时间:2023-11-01 07:18:29 27 4
gpt4 key购买 nike

在 MySQL 中有没有一种方法可以执行单个 SQL 语句来返回选定的行以及结果行的计数?

我能做到:

SELECT COUNT(*) FROM BigTable WHERE firstname LIKE 'a%';

这给了我一个带有计数 (37,781) 的结果行。我可以像这样获取实际的行数据:

SELECT firstname FROM BigTable WHERE firstname LIKE 'a%';

显示实际的 37,781 行。但是当我尝试将它们组合起来时,就像这样:

SELECT firstname, COUNT(*) FROM BigTable WHERE firstname LIKE 'a%';

我得到一行,其中第一行与查询匹配,以及与查询匹配的记录总数。

我希望看到的是包含 37,781 行的两列。第一列应包含每一行的名字,第二列应包含每一行的数字“37,781”。有没有办法编写查询来完成此操作?

最佳答案

您可以使用交叉连接。子查询将获取所有 firstnames 的计数,然后它将在每一行中包含此值:

SELECT firstname, d.total
FROM BigTable
CROSS JOIN
(
SELECT COUNT(*) total
FROM BigTable
WHERE firstname LIKE 'a%'
) d
WHERE firstname LIKE 'a%';

参见 SQL Fiddle with Demo

关于mysql - 计算 MySQL 中的行以及实际的行内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16703453/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com