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
운영게시판
최근게시물
MySQL Q&A 29744 게시물 읽기
No. 29744
다른 테이블 데이타 갯수 참조 정렬
작성자
정현철(hcjung)
작성일
2010-08-02 09:57
조회수
6,927

$query = "select * from tb_board where 1 order by b_num desc, b_reply asc limit ".$from_record.", ".$page_row;
$result = mysql_query($query, $connect);
이게 게시판 목록 가져오는 쿼리인데요

$ssql = "select count(*) as cnt from tb_statics where b_idx = $data[b_idx]";
$stotal_count = sql_total($ssql);

tb_statics에는

s_idx        b_idx    s_regdate

1                  1

2                  2

3                  2

4                  3

로 저장이 되어 있는데요

b_idx 컬럼의 데이타 갯수가 많은 순으로 참조해서 tb_board를 정렬하는 방법을 알고 싶습니다.

순서로 따지면

b_idx 의 2 는 2개고

1과 3은 1개니깐

b_idx

2

1

3

순서가 되겠죠

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

SELECT * FROM tb_board JOIN (SELECT b_idx,COUNT(*) AS c FROM tb_statics GROUP BY b_idx) a ON tb_board.b_num = a.b_idx ORDER BY c DESC;

 

위의 쿼리를 참조하여 작성하시면 되겠습니다.

단, 건수가 많을 경우 속도는 보장할 수 없습니다. 가능하다면 약간의 비정규화를 통해 tb_statics에 INSERT할 때, tb_board의 특정 컬럼 값을 +1 해주는 것으로 성능 향상을 꾀할 수 있습니다.

 

참고하세요.

 

박현우(lqez)님이 2010-08-02 11:35에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29748백업시 permission denied 문제 [1]
신재현
2010-08-04
9827
29747조인 했을떼 목록이 다 나오지 않습니다. [1]
정현철
2010-08-03
6851
29746커리로그 포멧 Drop DB [1]
우짜라
2010-08-03
7862
29744다른 테이블 데이타 갯수 참조 정렬 [1]
정현철
2010-08-02
6927
29743MYSQL 페이징 프로시져 관련 [1]
박판규
2010-07-30
7571
29742pk를 자동증가로 줬을때... [3]
Deck
2010-07-29
7267
29741[오라클] 전체적인 흐름에 대해서 알고 싶습니다.
DB사랑
2010-07-29
7067
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다