У меня есть 2 таблицы следующим образом:
игроков
+---------+---------+
| ID | name |
+---------+---------+
| 1299430 | Name 35 |
+---------+---------+
| 758151 | Name 34 |
+---------+---------+
| 1124585 | Name 17 |
+---------+---------+
| 258182 | Name 39 |
+---------+---------+
| 4555 | Name 5 |
+---------+---------+
| 301187 | Name 15 |
+---------+---------+
| 855547 | Name 27 |
+---------+---------+
| 987818 | Name 30 |
+---------+---------+
| 1400632 | Name 37 |
+---------+---------+
| 3614 | Name 4 |
+---------+---------+
результаты :
+---------+----------+---------+---------+---------+--------+---------------+
| ID | division | A Score | B Score | C Score | event | unixtimestamp |
+---------+----------+---------+---------+---------+--------+---------------+
| 301187 | 30 | 2.8 | 240 | 85 | 357035 | 1585433400 |
+---------+----------+---------+---------+---------+--------+---------------+
| 301187 | 30 | 2.8 | 244 | 85 | 364785 | 1584396600 |
+---------+----------+---------+---------+---------+--------+---------------+
| 301187 | 30 | 2.9 | 252 | 85 | 356804 | 1584198600 |
+---------+----------+---------+---------+---------+--------+---------------+
| 301187 | 30 | 2.6 | 227 | 85 | 321917 | 1580911800 |
+---------+----------+---------+---------+---------+--------+---------------+
| 301187 | 30 | 2.6 | 227 | 85.2 | 309411 | 1579741800 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1124585 | 30 | 2.7 | 294 | 108.9 | 333025 | 1581473100 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1124585 | 30 | 2.7 | 303 | 108.9 | 321969 | 1581185400 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1124585 | 30 | 2.7 | 305 | 109.8 | 316073 | 1580785800 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1124585 | 30 | 2.9 | 320 | 109.8 | 315578 | 1580267400 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1124585 | 30 | 2.4 | 265 | 109.8 | 313461 | 1580037000 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1124585 | 30 | 2.8 | 310 | 109.8 | 309398 | 1579659000 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1124585 | 30 | 2.7 | 304 | 110.7 | 300719 | 1579057800 |
+---------+----------+---------+---------+---------+--------+---------------+
| 855547 | 20 | 3.1 | 228 | 72 | 356830 | 1584321000 |
+---------+----------+---------+---------+---------+--------+---------------+
| 855547 | 20 | 3.3 | 239 | 72 | 333058 | 1581560100 |
+---------+----------+---------+---------+---------+--------+---------------+
| 855547 | 20 | 3.1 | 228 | 72 | 333107 | 1581388200 |
+---------+----------+---------+---------+---------+--------+---------------+
| 855547 | 20 | 3.5 | 258 | 72 | 303847 | 1579313400 |
+---------+----------+---------+---------+---------+--------+---------------+
| 855547 | 20 | 3.4 | 245 | 72 | 301701 | 1578967800 |
+---------+----------+---------+---------+---------+--------+---------------+
| 987818 | 20 | 3.8 | 247 | 64.9 | 357028 | 1585404600 |
+---------+----------+---------+---------+---------+--------+---------------+
| 987818 | 20 | 3.6 | 239 | 65.3 | 356972 | 1585091400 |
+---------+----------+---------+---------+---------+--------+---------------+
| 987818 | 20 | 3.6 | 238 | 65 | 356891 | 1584670200 |
+---------+----------+---------+---------+---------+--------+---------------+
| 987818 | 20 | 3.5 | 230 | 65.3 | 303822 | 1579183800 |
+---------+----------+---------+---------+---------+--------+---------------+
| 987818 | 20 | 3.5 | 231 | 65.8 | 300191 | 1578841800 |
+---------+----------+---------+---------+---------+--------+---------------+
| 758151 | 20 | 3.6 | 267 | 73 | 357028 | 1585404600 |
+---------+----------+---------+---------+---------+--------+---------------+
| 758151 | 20 | 3.9 | 289 | 73 | 356958 | 1585005000 |
+---------+----------+---------+---------+---------+--------+---------------+
| 758151 | 20 | 3.7 | 279 | 75 | 356804 | 1584198600 |
+---------+----------+---------+---------+---------+--------+---------------+
| 758151 | 20 | 3.8 | 274 | 71.7 | 321943 | 1581073800 |
+---------+----------+---------+---------+---------+--------+---------------+
| 758151 | 20 | 3.6 | 265 | 71.9 | 315615 | 1580469000 |
+---------+----------+---------+---------+---------+--------+---------------+
| 758151 | 20 | 3.7 | 264 | 71.2 | 309372 | 1579572600 |
+---------+----------+---------+---------+---------+--------+---------------+
| 758151 | 20 | 3.8 | 271 | 71.2 | 303874 | 1579432200 |
+---------+----------+---------+---------+---------+--------+---------------+
| 758151 | 20 | 3.8 | 270 | 71.2 | 301705 | 1579000200 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1299430 | 10 | 4.1 | 339 | 82 | 361918 | 1584133200 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1299430 | 10 | 3.9 | 333 | 85 | 356755 | 1583950200 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1299430 | 10 | 3.6 | 315 | 87.1 | 321920 | 1580929800 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1299430 | 10 | 3.7 | 329 | 87.1 | 316071 | 1580778600 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1299430 | 10 | 3.4 | 303 | 87.1 | 315570 | 1580231400 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1299430 | 10 | 3.7 | 328 | 87.1 | 313435 | 1579903800 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1299430 | 10 | 3.6 | 322 | 88.9 | 309384 | 1579635600 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1299430 | 10 | 3.5 | 322 | 90.7 | 303843 | 1579299000 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1299430 | 10 | 3.6 | 331 | 90.7 | 301709 | 1579030800 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1400632 | 10 | 3.9 | 320 | 81 | 356876 | 1584583800 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1400632 | 10 | 4 | 331 | 82 | 336608 | 1581561000 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1400632 | 10 | 3.9 | 326 | 82 | 321940 | 1581045000 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1400632 | 10 | 3.6 | 302 | 83 | 313487 | 1580181000 |
+---------+----------+---------+---------+---------+--------+---------------+
| 1400632 | 10 | 4 | 333 | 83 | 309398 | 1579659000 |
+---------+----------+---------+---------+---------+--------+---------------+
| 258182 | 10 | 4.3 | 285 | 65.8 | 356925 | 1584839400 |
+---------+----------+---------+---------+---------+--------+---------------+
| 258182 | 10 | 4.2 | 281 | 65.8 | 356793 | 1584148200 |
+---------+----------+---------+---------+---------+--------+---------------+
| 258182 | 10 | 4.1 | 0 | 65.8 | 321925 | 1580951400 |
+---------+----------+---------+---------+---------+--------+---------------+
| 258182 | 10 | 4.3 | 284 | 65.8 | 315594 | 1580350200 |
+---------+----------+---------+---------+---------+--------+---------------+
| 258182 | 10 | 4.1 | 271 | 65.8 | 313453 | 1579975800 |
+---------+----------+---------+---------+---------+--------+---------------+
| 258182 | 10 | 4.2 | 277 | 65.8 | 309426 | 1579831800 |
+---------+----------+---------+---------+---------+--------+---------------+
| 258182 | 10 | 4.5 | 297 | 65.8 | 300194 | 1578852600 |
+---------+----------+---------+---------+---------+--------+---------------+
| 3614 | 40 | 2 | 190 | 90.7 | 357013 | 1585343400 |
+---------+----------+---------+---------+---------+--------+---------------+
| 3614 | 40 | 1.8 | 170 | 90.7 | 356919 | 1584803400 |
+---------+----------+---------+---------+---------+--------+---------------+
| 3614 | 40 | 2.2 | 207 | 93.9 | 356870 | 1584565800 |
+---------+----------+---------+---------+---------+--------+---------------+
| 3614 | 40 | 2.2 | 209 | 93.9 | 356728 | 1583788200 |
+---------+----------+---------+---------+---------+--------+---------------+
| 4555 | 40 | 2.2 | 211 | 94.4 | 356922 | 1584814200 |
+---------+----------+---------+---------+---------+--------+---------------+
| 4555 | 40 | 2.2 | 210 | 94.4 | 356844 | 1584411000 |
+---------+----------+---------+---------+---------+--------+---------------+
| 4555 | 40 | 2 | 190 | 94.4 | 316031 | 1580566200 |
+---------+----------+---------+---------+---------+--------+---------------+
| 4555 | 40 | 1.9 | 188 | 94.4 | 303878 | 1579446600 |
+---------+----------+---------+---------+---------+--------+---------------+
| 4555 | 40 | 2 | 189 | 94.4 | 300194 | 1578852600 |
+---------+----------+---------+---------+---------+--------+---------------+
Я хотел бы написать MySQL запрос на присоединение и получение следующих столбцов:
+--------+---------+---------------+-------------------------------------------------+-------------------------------------------------+--------------+
| ID | name | Last division | average of the best 3 A scores in last 90 days | average of the best 3 B scores in last 90 days | Last C Score |
+--------+---------+---------------+-------------------------------------------------+-------------------------------------------------+--------------+
| 3614 | Name 4 | 40 | 2.1333 | 202 | 90.7 |
+--------+---------+---------------+-------------------------------------------------+-------------------------------------------------+--------------+
| 4555 | Name 5 | 40 | 2.1333 | 203.6667 | 94.4 |
+--------+---------+---------------+-------------------------------------------------+-------------------------------------------------+--------------+
| 258182 | Name 39 | 10 | 4.366 | 288.667 | 65.8 |
+--------+---------+---------------+-------------------------------------------------+-------------------------------------------------+--------------+
| 301187 | Name 15 | 30 | 2.833 | 245.333 | 85 |
+--------+---------+---------------+-------------------------------------------------+-------------------------------------------------+--------------+
| 758151 | Name 34 | 20 | 3.833 | 280.667 | 73 |
+--------+---------+---------------+-------------------------------------------------+-------------------------------------------------+--------------+
| 855547 | Name 27 | 20 | 3.4 | 247.33 | 72 |
+--------+---------+---------------+-------------------------------------------------+-------------------------------------------------+--------------+
Более подробно:
Деление - это деление, в котором игрок последний раз играл (по состоянию на последнюю дату) C Результаты также последние результаты (по дате) A и B - СРЕДСТВА ТОП-3 РЕЗУЛЬТАТОВ за последние 90 дней
Я получил это среднее с получением двух средних значений (показаны результаты A):
select id, AVG(A score) from
(select @rank:=if(@prev_cat=id,@rank+1,1) as rank,id,A score,@prev_cat:=id
from results,(select @rank:=0, @prev_cat:="")t
order by id, A Score desc
) temp
where temp.rank<=3
group by id
Сложность подзапросов вводит меня в заблуждение, и я немного устала от MySQL. Кто-нибудь может помочь?