복붙노트

[SQL] 여러 테이블에서 COUNT (*)를 선택

SQL

여러 테이블에서 COUNT (*)를 선택

나는 결과로 가진 두 개의 서로 다른 테이블 (그들 TAB1과 TAB2 전화)에서 COUNT (*)를 선택할 수있는 방법 :

Count_1   Count_2
123       456

나는 이것을 시도했다 :

select count(*) Count_1 from schema.tab1 union all select count(*) Count_2 from schema.tab2

하지만 내가 가진 전부입니다 :

Count_1
123
456

해결법

  1. ==============================

    1.

    SELECT  (
            SELECT COUNT(*)
            FROM   tab1
            ) AS count1,
            (
            SELECT COUNT(*)
            FROM   tab2
            ) AS count2
    FROM    dual
    
  2. ==============================

    2.SQL 서버에서 같은 일을 수행하기위한 추가 정보로서, 당신은 단지 쿼리의 "FROM 이중"부분을 제거해야합니다.

    SQL 서버에서 같은 일을 수행하기위한 추가 정보로서, 당신은 단지 쿼리의 "FROM 이중"부분을 제거해야합니다.

  3. ==============================

    3.그냥 약간 다른 왜냐하면 :

    그냥 약간 다른 왜냐하면 :

    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
    

    그렇지 않으면 내가 훨씬 다른 생각하지 않는다, 전치 답변 (테이블 당 하나의 행 하나가 아닌 열)를 제공합니다. 나는 성능 현명한 그들은 동등해야한다고 생각합니다.

  4. ==============================

    4.내 경험은 SQL Server와 함께,하지만 당신은 할 수 있습니다 :

    내 경험은 SQL Server와 함께,하지만 당신은 할 수 있습니다 :

    select (select count(*) from table1) as count1,
      (select count(*) from table2) as count2
    

    SQL 서버 I에서는 후있는 결과를 얻을.

  5. ==============================

    5.다른 약간 다른 방법 :

    다른 약간 다른 방법 :

    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
    /
    
  6. ==============================

    6.내가 볼 수 없기 때문에 다른 대답이를 불러옵니다.

    내가 볼 수 없기 때문에 다른 대답이를 불러옵니다.

    당신은 하위 쿼리처럼하지 말고 당신이 할 수있는 각 테이블의 기본 키가있는 경우 :

    select count(distinct tab1.id) as count_t1,
           count(distinct tab2.id) as count_t2
        from tab1, tab2
    

    그러나 성능은 현명한 난 Quassnoi의 솔루션은 더 나은, 그리고 하나의 내가 사용하는 것이라고 생각합니다.

  7. ==============================

    7.SELECT (SELECT 표 FROM COUNT (*)) + (SELECT COUNT (*) 표 2)에서 이중 FROM;

    SELECT (SELECT 표 FROM COUNT (*)) + (SELECT COUNT (*) 표 2)에서 이중 FROM;

  8. ==============================

    8.

    select (select count(*) from tab1) count_1, (select count(*) from tab2) count_2 from dual;
    
  9. ==============================

    9.여기에 내에서 공유 할

    여기에 내에서 공유 할

    옵션 1 - 다른 테이블에서 같은 도메인 계산

    select distinct(select count(*) from domain1.table1) "count1", (select count(*) from domain1.table2) "count2" 
    from domain1.table1, domain1.table2;
    

    옵션 2 - 같은 테이블의 다른 도메인에서 계산

    select distinct(select count(*) from domain1.table1) "count1", (select count(*) from domain2.table1) "count2" 
    from domain1.table1, domain2.table1;
    

    옵션 3 - "노조 모두"와 같은 테이블에 대해 서로 다른 도메인에서 카운트 횟수의 행이하는

    select 'domain 1'"domain", count(*) 
    from domain1.table1 
    union all 
    select 'domain 2', count(*) 
    from domain2.table1;
    

    SQL을 즐기십시오, 나는 항상 :)

  10. ==============================

    10.

        select 
        t1.Count_1,t2.Count_2
        from 
    (SELECT count(1) as Count_1 FROM tab1) as t1, 
    (SELECT count(1) as Count_2 FROM tab2) as t2
    
  11. ==============================

    11.완전성의 비트 용 -이 쿼리는 해당 소유자에게 모든 테이블의 수를 제공하는 쿼리를 작성합니다.

    완전성의 비트 용 -이 쿼리는 해당 소유자에게 모든 테이블의 수를 제공하는 쿼리를 작성합니다.

    select 
      DECODE(rownum, 1, '', ' UNION ALL ') || 
      'SELECT ''' || table_name || ''' AS TABLE_NAME, COUNT(*) ' ||
      ' FROM ' || table_name  as query_string 
     from all_tables 
    where owner = :owner;
    

    출력은 같은 것입니다

    SELECT 'TAB1' AS TABLE_NAME, COUNT(*) FROM TAB1
     UNION ALL SELECT 'TAB2' AS TABLE_NAME, COUNT(*) FROM TAB2
     UNION ALL SELECT 'TAB3' AS TABLE_NAME, COUNT(*) FROM TAB3
     UNION ALL SELECT 'TAB4' AS TABLE_NAME, COUNT(*) FROM TAB4
    

    어떤 당신은 다음 수를 얻을 수 실행할 수 있습니다. 그것은 때로는 약이 단지 편리한 스크립트입니다.

  12. ==============================

    12.빠른 찌르기가 함께했다 :

    빠른 찌르기가 함께했다 :

    Select (select count(*) from Table1) as Count1, (select count(*) from Table2) as Count2
    

    참고 : 나는 SQL 서버에서이 테스트를, 그래서 이중에서 (따라서 불일치) 필요가 없습니다.

  13. ==============================

    13.테이블 (또는 적어도 키 열)이 동일한 유형의 경우 단지 먼저 노동 조합을 만든 다음 계산합니다.

    테이블 (또는 적어도 키 열)이 동일한 유형의 경우 단지 먼저 노동 조합을 만든 다음 계산합니다.

    select count(*) 
      from (select tab1key as key from schema.tab1 
            union all 
            select tab2key as key from schema.tab2
           )
    

    아니면 문을 가지고 주위 다른 합계 ()을 넣어.

    select sum(amount) from
    (
    select count(*) amount from schema.tab1 union all select count(*) amount from schema.tab2
    )
    
  14. ==============================

    14.

    --============= FIRST WAY (Shows as Multiple Row) ===============
    SELECT 'tblProducts' [TableName], COUNT(P.Id) [RowCount] FROM tblProducts P
    UNION ALL
    SELECT 'tblProductSales' [TableName], COUNT(S.Id) [RowCount] FROM tblProductSales S
    
    
    --============== SECOND WAY (Shows in a Single Row) =============
    SELECT  
    (SELECT COUNT(Id) FROM   tblProducts) AS ProductCount,
    (SELECT COUNT(Id) FROM   tblProductSales) AS SalesCount
    
  15. ==============================

    15.

    Declare @all int
    SET @all = (select COUNT(*) from tab1) + (select count(*) from tab2)
    Print @all
    

    또는

    SELECT (select COUNT(*) from tab1) + (select count(*) from tab2)
    
  16. ==============================

    16.다른 테이블에 가입하세요

    다른 테이블에 가입하세요

    SELECT COUNT(*) FROM (  
    SELECT DISTINCT table_a.ID  FROM table_a JOIN table_c ON table_a.ID  = table_c.ID   );
    
  17. ==============================

    17.고르다 (선택한 횟수 ()에서 TAB1 여기서 필드 '값'등) + (여기서, 필드의 '값'처럼 TAB2에서 카운트 ()을 선택) 카운트

    고르다 (선택한 횟수 ()에서 TAB1 여기서 필드 '값'등) + (여기서, 필드의 '값'처럼 TAB2에서 카운트 ()을 선택) 카운트

  18. ==============================

    18.

    select @count = sum(data) from
    (
    select count(*)  as data from #tempregion
    union 
    select count(*)  as data from #tempmetro
    union
    select count(*)  as data from #tempcity
    union
    select count(*)  as data from #tempzips
    ) a
    
  19. from https://stackoverflow.com/questions/606234/select-count-from-multiple-tables by cc-by-sa and MIT license