我想根據其最早的日期對行進行排名。但是,如果一行的同胞(同一組內的行)的排名較高,則會影響他們的排名。MySQL:使用組的最早日期來確定每行的排名
id | group | date
1 11 2016-12-1
2 11 2016-01-1
3 22 2016-02-1
4 22 2016-05-1
5 3 2016-04-1
6 3 2016-06-1
目前:
SELECT *, @curRank := @curRank + 1 AS rank
FROM table
SELECT @curRank := 0) r
ORDER BY date ASC
id | group | date | rank
2 11 2016-01-1 1
3 22 2016-02-1 2
5 3 2016-04-1 3
4 22 2016-05-1 4
6 3 2016-06-1 5
1 11 2016-12-1 6
我需要實現
id | group | date | rank
2 11 2016-01-1 1
1 11 2016-12-1 6
3 22 2016-02-1 2
4 22 2016-05-1 4
5 3 2016-04-1 3
6 3 2016-06-1 5
我想你想/必須採取2次在此。第一次通過採用每個組的最低日期並排列這些日期,然後根據該組的排名順序重新排列日期。 – xQbert
這些羣體可以有多個兄弟姐妹,因此我不確定該羣組中的第3,第4 ...項如何/是否適用。 – Kris