- 締切済み
【MySQL】SITEN_CODE毎の高速ランキン
MySQL5.7でランキングの集計をしたいのですが、遅すぎて困っています。 URIAGEテーブルのSITEN_CODE毎にKINGAKU_RANKとKENSU_RANKを集計したい。 SELECT URIAGE.SITEN_CODE, URIAGE.SHAIN_BANGO, (SELECT COUNT(URIAGE2.KINGAKU) FROM URIAGE AS URIAGE2 WHERE URIAGE2.KINGAKU > URIAGE.KINGAKU AND URIAGE2.SITEN_CODE = URIAGE.SITEN_CODE)+1 AS KINGAKU_RANK, URIAGE.KINGAKU, (SELECT COUNT(URIAGE2.KENSU) FROM URIAGE AS URIAGE2 WHERE URIAGE2.KENSU > URIAGE.KENSU AND URIAGE2.SITEN_CODE = URIAGE.SITEN_CODE)+1 AS KENSU_RANK, URIAGE.KENSU FROM URIAGE ・件数が少ない内は動いたので、データ登録(約13万件) ・データ登録後、次のSQLで12時間動かしても終了しない。 という状態で困っています。 高速にランキング集計する方法があればご教授くださいm(_ _)m
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- mpro-gram
- ベストアンサー率74% (170/228)
回答No.1