database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 7163 게시물 읽기
No. 7163
집계쿼리문의
작성자
조현식(hs7771)
작성일
2019-04-23 20:34
조회수
438

 

 

안녕하세여 초보개발자인데 쿼리질문합니다.

집계하여 페이징하는 프로시저를 개발중인데

아래쿼리에서 Total_Cnt 값을 구할때 아래처럼  Count 함수를 또 안쓰고는 구할수 있는 방법이있을까요?? 

성능이 별로 좋지않을까해서요...

 

select

j.jobid ,

j.start_time,

j.end_Time,

 (select count(*) from user_log where jobid=j.jobid) as USR_Cnt,

  (select count(*) from email_log where jobid = j.jobid ) as Email_Cnt,

  (select count(*) from com_log  where jobid = j.jobid ) as Com_Cnt,

  (select count(*) from user_log where jobid=j.jobid)+

  (select count(*) from email_log where jobid = j.jobid )+

  (select count(*) from com_log  where jobid = j.jobid ) as Total_Cnt

from Job_hist as J

Order by j.Jobid desc

OFF SET 0 ROWS

 FETCH NEXT 10 ROWS ONLY

 

결과값

JOBID /    Start_Time        /      End_Time   / USR_Cnt / Email_Cnt / Com_Cnt / Total_Cnt

457    /  2019-04-05 13:00:00.000 /  2019-04-05 13:00:03.526 / 5 / 3 / 7 / 15

456    /  2019-04-05 12:00:50.000 /  2019-04-05 12:00:53.253 / 2 / 1 / 0 / 3

455    /  2019-04-05 12:00:40.000 /  2019-04-05 12:00:43.132 / 3 / 2 / 4 / 9

454    /  2019-04-05 12:00:30.000 /  2019-04-05 12:00:33.225 / 6 / 9 / 2 / 17

453    /  2019-04-05 12:00:20.000 /  2019-04-05 12:00:23.153 / 3 / 0 / 3 / 6

이 글에 대한 댓글이 총 1건 있습니다.

SELECT JobID
     , Start_Time
     , End_Time
     , USR_Cnt
     , Email_Cnt
     , Com_Cnt
     , USR_Cnt + Email_Cnt + Com_Cnt Total_Cnt
  FROM (SELECT j.JobID
             , j.Start_Time
             , j.End_Time
             , (SELECT COUNT(*) FROM user_log  WHERE jobid = j.jobid) USR_Cnt
             , (SELECT COUNT(*) FROM email_log WHERE jobid = j.jobid) Email_Cnt
             , (SELECT COUNT(*) FROM com_log   WHERE jobid = j.jobid) Com_Cnt
          FROM (SELECT jobid
                     , start_time
                     , end_Time
                  FROM Job_hist
                 ORDER BY jobid DESC
                OFFSET 0 ROWS
                 FETCH NEXT 10 ROWS ONLY
                ) j
        ) a
;

마농(manon94)님이 2019-04-23 22:23에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7166MariaDB 와 MSSQL이 호환되는 암호화
암호화
2019-05-09
403
7165쿼리..도와주세요ㅠㅠ [1]
kimsuyong
2019-05-08
430
7164WITH절 DELETE문
이용길
2019-05-03
415
7163집계쿼리문의 [1]
조현식
2019-04-23
438
7162성능문의
일개미님
2019-04-08
441
7161쿼리문의합니다.급합니다. 도와주세요. ㅠㅠㅠ [3]
추노
2019-04-04
467
7160여러 PC에서 동일한 작업일때 Lock 발생 [1]
오양양
2019-03-30
441
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2019 DSN, All rights reserved.
작업시간: 0.072초, 이곳 서비스는
	PostgreSQL v11.5로 자료를 관리합니다