我有两个不同的男性和女性排名表。
id | rank | name | surname | totalpoints | lvpoints | itf points
1 | 1 | Nick | Fisher | 100 | 50 | 50
表的结构是相同的。 例如,男性表包含70行和女性52。
获取男性表COUNT的代码:
<?php
$sql = "SELECT COUNT(*) AS count FROM mensranking";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
$count = $row['count'];
echo $count;
?>
我的目标是获得122号(男子表数+女性表数)。
尝试了很多选项(在stackoverflow上找到了什么),对我没用。
答案 0 :(得分:0)
以下是您的解决方案。但我会建议你制作具有性别分布的单表,如新的字段,表明用户是男/女,那么你不需要使用union all计算两个表记录。根据您的数据要求,您可以使用另外一种不同的东西。
SELECT COUNT(*)
FROM
(
select distinct id from mensranking
union all
select distinct id from womensranking
) total_records
答案 1 :(得分:0)
我会写一个查询,如下:
SELECT 'womensranking' AS tbl, COUNT(*) AS cnt FROM womensranking
UNION ALL
SELECT 'mensranking', COUNT(*) AS cnt FROM mensranking
有很多选择,但这种方法是单个查询,一次往返数据库。
如果我们需要从每个表中获取个人计数,那么我会这样做:
{{1}}
然后获取两行。同样,这只是数据库的一次往返,以获得两行(两个计数)。