현재 mongodb 데이터 분석 프로젝트의 통계 분석 기능을 작업 중
설명:
(1) 기본통계는 수시로 수집됩니다.
(2) 쿼리 표시 기간은 (시, 일, 월, 년) 등으로 고정됩니다.
(3) 해당 데이터는 해당 필드에 따라 계산되어야 하며 합계 및 평균 통계를 위해 해당 필드별로 그룹화되어야 합니다.
(4) 페이징 기능도 필요합니다.
mysql의 이전 구현은 다음 sql 문이었습니다.
--테이블 구조 생성
-- CREATE TABLE 테스트(
-- ID int PRIMARY KEY auto_increment,
-- 이름 varchar(30),
-- 정수 점수
-- );
--테스트 데이터 삽입
-- 테스트 (이름, 점수)VALUES('a',1)에 삽입;
-- 테스트 (이름, 점수)VALUES('b',2)에 삽입;
-- 테스트 (이름, 점수)VALUES('c',3)에 삽입;
-- 테스트 (이름, 점수)VALUES('a',2)에 삽입;
-- 테스트 (이름, 점수)VALUES('b',3)에 삽입;
-- 테스트 (이름, 점수)VALUES('c',1)에 삽입;
SQL 문의 특정 구현:
SELECT * FROM (SELECT 이름, 합계(점수) 테스트 GROUP BY 이름의 합계) tem order by totle desc LIMIT 0,2 ;
누구에게 도움을 줄 수 있는지 묻고 싶습니다! 감사해요!
db.test.aggregate({"$project":{"name":1, "score":1, "totle":1}}, {"$group":{"_id":"$name ", "count":{"$sum":"$score"}}},{"$sort":{"totle":1}},{"$limit":2})
가능한지 모르겠어요?
두 번 문의하셔야 할 것 같습니다
첫 번째 쿼리, 구조를 임시 컬렉션에 저장
두 번째 쿼리, 임시 컬렉션 쿼리
세 번째 - 세 번째는 없습니다. 임시 컬렉션을 삭제하세요