为了账号安全,请及时绑定邮箱和手机立即绑定

从多个表中选择count(*)

从多个表中选择count(*)

慕尼黑8549860 2019-10-24 13:55:41
如何count(*)从具有结果的两个不同表(分别称为tab1和tab2)中进行选择:Count_1   Count_2123       456我已经试过了:select count(*) Count_1 from schema.tab1 union all select count(*) Count_2 from schema.tab2但是我所拥有的是:Count_1123456
查看完整描述

3 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

SELECT  (

        SELECT COUNT(*)

        FROM   tab1

        ) AS count1,

        (

        SELECT COUNT(*)

        FROM   tab2

        ) AS count2

FROM    dual


查看完整回答
反对 回复 2019-10-24
?
富国沪深

TA贡献1790条经验 获得超9个赞

只是因为它略有不同:


SELECT 'table_1' AS table_name, COUNT(*) FROM table_1

UNION

SELECT 'table_2' AS table_name, COUNT(*) FROM table_2

UNION

SELECT 'table_3' AS table_name, COUNT(*) FROM table_3

它给出了换位的答案(每张表一行而不是一列),否则我认为这没有太大不同。我认为在性能方面,它们应该是等效的。


查看完整回答
反对 回复 2019-10-24
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

其他略有不同的方法:


with t1_count as (select count(*) c1 from t1),

     t2_count as (select count(*) c2 from t2)

select c1,

       c2

from   t1_count,

       t2_count

/


select c1,

       c2

from   (select count(*) c1 from t1) t1_count,

       (select count(*) c2 from t2) t2_count

/


查看完整回答
反对 回复 2019-10-24
  • 3 回答
  • 0 关注
  • 923 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信