case when으로 가능하지 않을까요~
with hospital (hospitalno, addr2) as ( select 5, '부산' union all select 12, null union all select 15, '서울' ) SELECT CASE WHEN addr2 is not null THEN (@rownum:=@rownum+1) END rownum, b.hosPitalNo, addr2 FROM Hospital b, (SELECT @rownum:=0) TMP;
WITH Hospital AS
(
SELECT 5 hosPitalNo, '부산' addr2
UNION ALL SELECT 12, null
UNION ALL SELECT 15, '서울'
)
SELECT CASE WHEN addr2 IS NOT NULL
THEN COUNT(addr2) OVER(ORDER BY hosPitalNo)
END rownum
, hosPitalNo, addr2
FROM Hospital
;