编辑:感谢 JoseCarlosPB,这里是解决方案:
SELECT
(select count(DISTINCT userscount) AS duplicates from users1)
+
(select count(DISTINCT userscount) AS duplicates from users2) AS duplicates
FROM dual;
所以我有2个表和一个mysql语句,我想合并2个表,但两个表都有相同的列。我认为PHP代码中没有什么可做的,我认为问题出在mysql语句中。
我的代码可以工作(没有错误),但它给出了意外的输出。我只是想正确计算用户数,这就是我的意思: table1 有 32 个用户,table2 有 44 个用户 我以为输出将是 76 个用户,但实际上是 3244
PHP:
include 'conn00.php';
$sql = "select DISTINCT userscount, count(DISTINCT userscount) AS duplicates from users1 UNION ALL
select DISTINCT userscount, count(DISTINCT userscount) AS duplicates from users2";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo $row["duplicates"];
}
} else {
}
表1:
users1
32
表2:
users2
44
输出:3244 我希望输出为 76
如果解决方案在 mysql 中会更好,因为我有更多类似的 sql 语句,并且我想将解决方案应用于所有这些语句。 感谢您的回答
最佳答案
我认为你可以这样做,就像alistaircol说
SELECT
(select count(DISTINCT userscount) AS duplicates from users1)
+
(select count(DISTINCT userscount) AS duplicates from users2) AS duplicates
FROM dual;
关于php/mysql 正确合并具有相同列的 2 个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59238895/