我有两个不同的表,我想从中提取唯一ID的数目。每个单表查询如下所示MySQL UNION - 将两个单值查询输出到不同的列中
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 +
+------+------+
这样,这将是一个更容易直接引用的结果,而不是起伏记得在查询提交的顺序。
D'oh!太简单! * facepalm * – Tomm
谢谢堆,队友。 – Tomm
没问题... :) – PeterRing