빈값이라도 row를 출력하고 싶습니다 0 8 4,057

by 나만의생각 [MySQL] MySQL MariaDB [2021.09.29 20:33:35]


특정 테이블에 값이 3개라도 5개의 row를 출력하고 싶습니다

예를 들어 값이

1

2

3

이런 테이블을 조회할때

1

2

3

null

null

이런식으로 값이 없더라도 총 5개의 로우를 출력하고 싶습니다 도움 부탁드립니다

by 마농 [2021.09.30 08:43:00]

5행이 넘으면 어떻게 출력하나요?


by 나만의생각 [2021.09.30 10:07:20]

최소 5개를 보여주고 5개가 넘으면 다보여줍니다


by jkson [2021.09.30 11:00:29]
with t as
(
  select 1 no from dual union all
  select 2 no from dual union all
  --select 4 no from dual union all 
  --select 5 no from dual union all 
  --select 6 no from dual union all 
  --select 7 no from dual union all 
  select 3 no from dual
)
select a.no
  from 
  (select no, rownum rn from t) a
full outer join 
  (select level lv from dual connect by level <=5) b
on (a.rn = b.lv)

꼭 쿼리로 해야되는 게 아니면 프론트단에서 처리하는 게 어떠실지?

-- 아 MySQL이네요; 오라클 connect by level을 활용한 행복제 대신 행복제용 temp 테이블을 만드시든 recursive 쿼리 사용하시면 될 것 같습니다.


by 나만의생각 [2021.09.30 13:07:54]

확인해보겠습니다 답변감사합니다


by 마농 [2021.09.30 11:17:19]

1. 질문에 표시된 (1,2,3)은
- 저장되어 있는 컬럼 정보인가요?
- 아니면 개념상 행번호를 표시한 건가요?
2. MySQL 버전은 어떻게 되나요?


by 나만의생각 [2021.09.30 13:07:40]

1. 저장된 값들입니다

2. mysql이라고 적어버렸내요 ㅠㅠ mariaDB 10.2.31입니다


by 마농 [2021.09.30 13:33:01]

1. 해당 1,2,3 이 저장된 항목만 조회하나요? 다른 항목도 추가로 조회하나요?
2. (1,2,3,4,5) 형태로 순차적인가요? (1,2,3,5) 처럼 중간에 빈 값이 있을 수도 있나요?
3. 최대 몇건 정도 되나요?


by 마농 [2021.09.30 16:54:42]
-- MariaDB --
WITH t AS
(
 SELECT 1 no
 UNION ALL SELECT 2
 UNION ALL SELECT 3
-- UNION ALL SELECT 4
-- UNION ALL SELECT 5
-- UNION ALL SELECT 6
-- UNION ALL SELECT 7
)
SELECT no
  FROM t
 UNION ALL
SELECT null
  FROM seq_1_to_5
 WHERE seq <= (SELECT 5 - COUNT(*) FROM t)
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입