【发布时间】:2014-05-06 08:37:33
【问题描述】:
我有两个不同的表,我想从中提取唯一 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 +
+------+------+
这样直接引用结果会容易得多,而不是记住提交查询的顺序。
【问题讨论】: