mys*_*lls 0 sql oracle select count teradata
我正在尝试从差异表中进行多个选择,并且只将结果放在一列中。
SELECT COUNT(*) FROM tb1 union
SELECT COUNT(*) FROM tb2 union
SELECT COUNT(*) FROM tb3;
Run Code Online (Sandbox Code Playgroud)
输出应该像这样:
593643
18103600
0
Run Code Online (Sandbox Code Playgroud)
这样的问题是结果按降序排列。如下所示:
0
593643
18103600
Run Code Online (Sandbox Code Playgroud)
我希望结果像我输入的select语句一样。请指教。顺便说一句,我正在使用Teradata。谢谢。
SQL结果集本质上是无序的,除非您明确指定order by子句。您可以使用子查询来执行此操作:
select cnt
from ((SELECT COUNT(*) as cnt, 1 as ord FROM tb1)
union all
(SELECT COUNT(*), 2 FROM tb2)
union all
(SELECT COUNT(*), 3 FROM tb3)
) t
order by ord
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7013 次 |
| 最近记录: |