728x90
게시판을 보면 선택한 글을 기준으로
선택된 글이 가운데 있고 위, 아래로 글이 있는걸 볼 수 있습니다.
간단하게 쿼리 한줄로 가능한데요.
SELECT * from (
(SELECt id FROM posts WHERE id < #선택된글번호# ORDER BY id DESC LIMIT 2)
UNION ALL
(SELECt id FROM posts WHERE id >= #선택된글번호# ORDER BY id ASC LIMIT 3)
) set_row, posts p
WHERE set_row.id = p.id
(SELECt id FROM posts WHERE id < #선택된글번호# ORDER BY id DESC LIMIT 2)
UNION ALL
(SELECt id FROM posts WHERE id >= #선택된글번호# ORDER BY id ASC LIMIT 3)
) set_row, posts p
WHERE set_row.id = p.id
이런식으로 하면 선택된 글번호를 기준으로
위에 2, 아래 2개의 글이 나오게 됩니다.
'dev > db' 카테고리의 다른 글
Mysql InnoDB 성능 개선(innodb_flush_log_at_trx_commit) (0) | 2014.06.11 |
---|---|
CUBRID SQL 정리 (0) | 2010.07.28 |
Mysql 랜덤으로 row 가져오기 (0) | 2009.03.04 |
ibatis Built-In type Alias definitons (0) | 2009.02.27 |