mysql - 如何统计多个表的行数

标签 mysql

我有两个不同的表格,分别包含男子和女子排名。

id | rank | name | surname | totalpoints | lvpoints | itf points
1  | 1    | Nick | Fisher  | 100         | 50       | 50

表的结构是相同的。 例如,男士表包含 70 行,女士表包含 52 行。

我获取 COUNT 个男士餐 table 的代码:

<?php
$sql = "SELECT COUNT(*) AS count FROM mensranking";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
$count = $row['count'];
echo $count;
?>

我的目标是获得第 122 名(男子 table 数 + 女子 table 数)。

尝试了很多选项(在 stackoverflow 上找到的),但没有任何效果。

最佳答案

以下是您的解决方案。但我建议您制作具有性别分布的单个表,例如新归档,表明用户是男性/女性,那么您不需要使用 union all 来计算两个表记录。您还可以根据您的数据要求使用distinct 的另一件事。

SELECT COUNT(*)
FROM
(
    select distinct id from mensranking

    union all

    select distinct id from womensranking
) total_records

关于mysql - 如何统计多个表的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43300493/

相关文章:

mysql - 收集多个字段

mysql - Node JS mysql 用大查询更新

mysql - 如何在一个查询中获取当前ID的当前和以前的ID(mysql)

php - 在 PDO 查询的 where 子句中处理可能的空值

mysql - 将 postgres 表与 mysql 表链接在测试中失败

php - 如何在后续查询中使用 SQL 查询的结果?

php - mysql_real_escape_string 和 strip_slashes 问题

php - 根据字段值从不同表中取值

mysql - MySQL 中多列索引中的列顺序

mysql - 无法在我的 MySQL 数据库中创建最后两个表