php - MySQL UNION - 将两个单值查询输出到不同的列中

标签 php mysql sql

我有两个不同的表,我想从中提取唯一 ID 的数量。每个表的查询如下所示

SELECT COUNT(DISTINCT(`uniqueid`)) as `t1ID` FROM `table1`

SELECT COUNT(DISTINCT(`uniqueid`)) as `t2ID` FROM `table2` WHERE `condition`='true'

我想将两个查询合并到一个语句中。我知道我可以使用

SELECT COUNT(DISTINCT(`uniqueid`)) as `t1ID` FROM `table1`
UNION ALL
SELECT COUNT(DISTINCT(`uniqueid`)) as `t2ID` FROM `table2` WHERE `condition`='true'

但是,这会使用第一个查询中的计数名称作为列名称在两个单独的行中输出两个计数:

+------+
+ t1ID +
+------+
+    4 +
+------+
+    5 +
+------+

有没有办法让 UNION 查询输出两列中的数据以及相应的计数名称?即

+------+------+
+ t1ID + t2ID +
+------+------+
+    4 +    5 +
+------+------+

这样,直接引用结果就会容易得多,而不必费力记住查询提交的顺序。

最佳答案

SELECT (SELECT COUNT(DISTINCT(`uniqueid`))  FROM `table1` ) as `t1ID`,
(SELECT COUNT(DISTINCT(`uniqueid`))  FROM `table2` WHERE `condition`='true') as `t2ID`

关于php - MySQL UNION - 将两个单值查询输出到不同的列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23489801/

相关文章:

javascript - php while循环中的按钮

php - mysql drupal 6 查询问题

php - 我如何更改此脚本,以便当它发现用户存在于 MySQL 数据库中时它会更新并且不返回错误消息?

javascript - 提交表单后显示 Bootstrap 模式

javascript - 循环遍历 Javascript 中从 PHP 获取的对象

javascript - 是否可以使用 React Native 应用程序操作 MySQL 数据?

php - 将mysql相关表导出到csv

SQL Server CASE 语句对表达式求值一次

SQL 查询彼此相差 5 分钟以内的日期时间

php - codeigniter:一切正常。仅针对一张表,显示错误 "table does not exist"。它存在于数据库中,也可以在本地主机上正常工作