回答編集履歴
1
追記
answer
CHANGED
@@ -1,4 +1,18 @@
|
|
1
1
|
適切なインデックスが貼ってあるならご提示のgroup byの集計がベストです。
|
2
2
|
ランクは集計後のCOUNTで行うのでしょうか?
|
3
3
|
同じCOUNT数の場合同順とし、その後のデータが後ろたおしすればいいのでしょうか?
|
4
|
-
例示のものでいうとcount=3が1位、count=2が2位、count=1が4位?
|
4
|
+
例示のものでいうとcount=3が1位、count=2が2位、count=1が4位?
|
5
|
+
|
6
|
+
# 追記
|
7
|
+
|
8
|
+
集計後のデータを最終形すると処理自体は冗長になります
|
9
|
+
とりあえずこうしてみてください
|
10
|
+
|
11
|
+
```SQL
|
12
|
+
select good,count,
|
13
|
+
(select count(*)+1 from
|
14
|
+
(select good,count(*) as count from vote group by good) as t2
|
15
|
+
where t1.count<t2.count) as rank
|
16
|
+
from (select good,count(*) as count from vote group by good) as t1
|
17
|
+
order by rank asc,good asc
|
18
|
+
```
|