에 따라 position
에 따라 DESC
순서로 IE를 설정하는 임시 테이블을 작성하는 중이므로 IE는 사용자가 갖는 점수가 높을수록 더 높은 순위를 갖게됩니다.임시 테이블에 행 위치 가져 오기 MySQL
SET @rownum := 0;
SELECT t.`subscriber_id`,
t.`total_points`,
s.`account_type`,
@rownum := @rownum + 1 AS `position`
FROM `subscribers_points` t
LEFT JOIN (
SELECT `id`, `account_type`
FROM `subscribers`
) s
on s.`id` = t.`subscriber_id`
WHERE t.`year` = 2015
AND t.`month` = 1
ORDER BY t.`total_points` DESC
:
, 여기에 내 코드 나 또한
position
그러나 현재 주어진 사용자를 얻기 위해이 테이블 밖으로 subscriber_id
을 선택합니다
, 나는 이상한 많은 문제로 실행 해요 입니다
모든 1,238,1,2 및 9를 필터링하려고하지만, 언제든지 subscribers_points
WHERE 절에 테이블을 추가하면 에 position
이 없지만 subscriber_id
은 기수가되어 이해가되지 않습니다. 나를.
설명을 위해 표 subscribers
은 account_type
필드를 포함합니다. subscriber_points
테이블에는 total_points
필드가 들어 있습니다.
-------------------------------------------------------------
| subscriber_id | position | total_points | account_type |
-------------------------------------------------------------
| 52 | 1 | 10 | 7 |
| 125 | 2 | 8 | 4 |
| 87 | 3 | 9 | 3 |
| 12 | 4 | 5 | 6 |
| 45 | 5 | 2 | 4 |
-------------------------------------------------------------
이
결과 세트,하지만 데이터 세트. 천재. – Strawberry