이전에는 하나의 게시판에 대해서 전체 게시물 수를 나타내는 팁을 알아봤었는데요,
이번에는 모든 게시판에 대해서 전체 게시물 수 합계 및 전체 조회수 합계를 알아보겠습니다.
1. 모든 게시판의 전체 게시물 수 합계
SELECT count(*) FROM `rx_documents` WHERE document_srl
{@ $oDB = DB::getInstance(); $arr = array(); $query = $oDB->prepare("SELECT count(*) as cnt FROM `documents`WHERE document_srl"); $query->execute($arr); $document_list = $query->fetchAll(); } {$document_list[0]->cnt}
2. 모든 게시물의 전체 조회수 합계
SELECT sum(readed_count) FROM `rx_documents`
{@ $oDB = DB::getInstance(); $arr = array(); $query = $oDB->prepare("SELECT sum(readed_count) as sum FROM `documents`"); $query->execute($arr); $document_list = $query->fetchAll(); } {$document_list[0]->sum}
XE타운에서도 같은 이슈가 올라와서 링크 합니다.
https://xetown.com/questions/1726292
3. 모든 게시물의 전체 갯수 합계 및 전체 조회수 합계를 하나의 쿼리문으로.
{@ $oDB = DB::getInstance(); $arr = array(); $query = $oDB->prepare('SELECT COUNT(readed_count) AS cnt, SUM(readed_count) AS sum FROM documents'); $query->execute($arr); $result = $query->fetchAll()[0]; } {$result->cnt}/{$result->sum}
이렇게 하시면 위 1.과 2.의 팁을 같이 작성해서 출력할 수 있습니다.
단, 저는 모든 rx_document 테이블에 등록된 문서를 기준으로 작성된 것이라,
실제 게시판에서 작성된 게시물의 수랑은 차이가 납니다.
이때는 XE타운의 윤삼님 답변을 참조하세요.
쿼리문 계산 속도가 조금 차이 있는데, 쿼리문을 조금 가볍게 돌리고 싶을 때는 이 팁을,
정확한 게시판에서 작성된 게시물만을 대상으로 할 경우에는 윤삼님 팁을 적용해서 사용하세요.