2010-06-17 2 views
0

Q. 모든 급여를 표시하고 끝에 총 sal을 표시 하시겠습니까? Q. 단일 테이블에 몇 개의 열이 삽입됩니까? empsal에서on SQL 기본 질문

+0

글 머리 기호/번호 매기기 아이콘을 사용하면 더 쉽게 읽을 수 있습니다. – Chinjoo

+0

안녕하세요, stackoverflow.com에 오신 것을 환영합니다! 불행히도 귀하의 질문은 중요한 정보가 없으므로 답변이 불가능합니다. 적어도 다음을 설명하십시오 : - 쿼리하는 테이블의 구조 -이 작업을 수행하는 컨텍스트 (새로운 시스템 개발, 기존 시스템 작업, 숙제 ...), 솔루션 및 보유한 위치 붙어있어. 그렇지 않으면 질문이 닫힙니다. – sleske

답변

0
  1. 선택 샐 노조 난 당신이 테이블에 대한 열 수를 얻고 싶은 생각

  2. empsal에서 선택 SUM (SAL). 어디 TABLE_NAME = ''

+0

원본 포스터의 Oracle 데이터베이스 버전이 8i 미만인 경우 테이블을 두 번 스캔해야합니다. 8i 범위의 어딘가에서 확장에 의한 그룹이 가능하게되었습니다. 그리고 Oracle7 방식으로 할 때 UNION 대신 UNION ALL을 사용하면 불필요한 정렬 단계를 피하고 테이블에 단 하나의 행만있을 때 총계를 잃을 가능성을 피할 수 있습니다. –

+0

-1 그리고 질문 2를 이해할 수는 없지만 귀하의 질의에 대한 대답은 난센스입니다. user_tab_columns에서 table_name = 'his_single_table'으로 count (*)를 선택해야합니다. –

+0

oops ... 나는 태그를 알아 채지 못했습니다 ... 내 대답은 SQL에 대한 것입니다. – Chinjoo

0

해결 방법 1

SELECT COUNT (*) INFORMATION_SCHEMA.COLUMNS에서 : 당신은 그 다음 할 쿼리를 수행 할 수 사용 롤업 기능 첫 번째 질문에 대한

select empno,sum(sal) from emp group by rollup((sal,empno)); 

해결 방법 2 : 를 사용하여 그룹화가

을 설정합니다
select empno,sum(sal) from emp group by GROUPING SETS ((empno),()) 
+0

롤업 제안이 좋지만 예상 결과가 나오지 않습니다. –

+0

@ Rob van Wijk : 네 말이 맞아. 질문을 제대로 읽지 못한다. – Bharat

1

Q1 :

SQL> select sum(sal) 
    2 from emp 
    3 group by rollup(empno) 
    4/

    SUM(SAL) 
---------- 
     800 
     1100 
     1300 
     1500 
     1600 
     3000 
     3000 
     5000 
     950 
     1250 
     1250 
     2450 
     2850 
     2975 
    29025 

15 rows selected. 

Q2 : 좀 더이 질문을 설명해주십시오.

감사합니다. Rob.