,所以我有這樣的表中的數據排名:的mysql進行分組與領帶
id total group_id
1897 738 1
2489 716 2
2325 715 3
1788 702 2
1707 699 3
2400 688 3
2668 682 2
1373 666 1
1494 666 1
1564 660 1
2699 659 1
1307 648 4
1720 645 4
2176 644 1
1454 644 4
2385 639 3
1001 634 2
2099 634 4
1006 632 1
2587 630 3
1955 624 3
1827 624 4
2505 623 4
2062 621 3
1003 618 1
2286 615 4
2722 609 4
我怎麼可以排名每組的IDS基於總,並給予同級別的時候有一搭?
我曾嘗試下面這種解決方案,但它不走關係的照顧。
SELECT g1.admission_no
, g1.total
, g1.stream_id
, COUNT(*) AS rn
FROM ranktest AS g1
JOIN ranktest AS g2
ON (g2.total, g2.admission_no) >= (g1.total, g1.admission_no)
AND g1.stream_id = g2.stream_id
GROUP BY g1.admission_no
, g1.stream_id
, g1.total
ORDER BY g1.stream_id
, total ;
預計
id total group_id rank
1897 738 1 1
2489 716 2 1
2325 715 3 1
1788 702 2 2
1707 699 3 2
2400 688 3 3
2668 682 2 3
1373 666 1 2
1494 666 1 2
1564 660 1 3
2699 659 1 4
1307 648 4 1
1720 645 4 2
2176 644 1 4
1454 644 4 3
2385 639 3 4
1001 634 2 4
2099 634 4 4
1006 632 1 5
2587 630 3 5
1955 624 3 6
1827 624 4 5
2505 623 4 6
2062 621 3 6
1003 618 1 6
2286 615 4 7
2722 609 4 8
[選擇](http://dev.mysql.com/doc/refman/5.7/en/select.html)+ [聚集體](http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html)。我們不會爲你寫代碼。你寫代碼,我們(也許)試着修復它。 –
@MarcB我有這段代碼使用連接,但ID沒有照顧的關係,我不知道如何解決它 – GOA
所以顯示此代碼。但是如果你想要關係,你需要額外的查詢腳手架來檢測關係並且拉出產生這些關係的記錄。 –