사용자가 테이블에 존재하는 횟수의 카운트 인 열 num에 기초하여 순위를 매기는 방법. 또한 2 명의 사용자가 동일한 카운트를 갖는 경우 사용자가 아래보다 작은 순위로 사용자를 제공해야합니다. 예 : user 1 및 2의 수가 3이면 사용자 1이 순위 1이고 사용자 2가 순위 3이고 1이 새 사용자 3 인 경우 사용자 3은 순위 3입니다.카운트 번호에 기초한 순위 사용자
어떻게하면됩니까? 어떤 도움을 주셔서 감사합니다. 사전 감사합니다.
http://sqlfiddle.com/#!2/a9188/2
CREATE TABLE if not exists tblA
(
id int(11) NOT NULL auto_increment ,
user varchar(255),
category int(255),
PRIMARY KEY (id)
);
INSERT INTO tblA (user, category) VALUES
('1', '1'),
('1', '2'),
('1', '3'),
('1', '1'),
('2', '1'),
('2', '1'),
('2', '1'),
('2', '1'),
('3', '1'),
('2', '1');
응답 등 : 그 '하나'
user category count rank
1 1 2 1
2 1 2 2
쿼리가 사용하는 카테고리 검색 : 예를 들어
SELECT USER,
category,
count(*) AS num
FROM tblA
WHERE category=1
GROUP BY USER,
category
ORDER BY num DESC;
이 게시물 (http://stackoverflow.com/questions/3333665/mysql-rank-function)을보고 도움이되는지 확인하십시오. –
당신이 찾고있는 것은'rank by partition by'입니다. – Rahul
@ Rahul 그래,하지만 여전히 MySQL에 존재하지 않습니다 .. –