MySQL:需要获取行数

标签 mysql sql sum

我正在尝试执行一个 SQL 查询,结果还从另一个表中吐出许多符合条件的行。

这是插入到 sprintf 中的当前查询:

SELECT a.* FROM websites AS a WHERE website_id = %d

然后,我有一个查询来检索给定网站的唯一访问次数(从访问表中):

SELECT * FROM website_visits WHERE website_id = %d GROUP BY visitor_id

现在,有什么方法可以将该查询插入到第一个查询中,以便我可以检索唯一访问次数,作为第一个查询结果的一部分?它必须是这样的:

SELECT a.*, (SELECT * FROM website_visits AS b WHERE b.website_id = a.website_id GROUP BY visitor_id) AS unique_visits FROM websites AS a WHERE website_id = %d

但是...至于执行结束,我很难过。感谢您提供的任何帮助!

最佳答案

要检索行数,请添加 SQL_CALC_FOUND_ROWS查询,例如:

SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name;

在这个查询之后,你可以:

SELECT FOUND_ROWS();

检索行数。

(这以一种廉价的方式检索计数;如果您需要将计数作为行集的一部分,则必须使用子查询,就像在您的问题中一样。)

关于MySQL:需要获取行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5351120/

相关文章:

sql - 返回包含最近 24 小时计数的记录

pandas - 为 Pandas 数据框中的每个子组添加总行

MySQL : How to count multiple row where datediff() is less than 30

MySQL 尝试更改 Null 时触发错误

mysql - 如何编写迁移以使用 ManyToManyField 更改模型的主键

sql - ActiveRecord:从控制台列出表中的列

sum - PIG : sum and division, 创建对象

cmd 无法识别 MySQL

javascript - Sequelize : updating updatedAt manually

php - 如果 DATE 相同,则获取列的总计 MYSQL