|
|
|
|
|
для: P@Sol
(24.10.2006 в 17:27)
| | s5 вычисляется как count(t2.id_player) group by t1.id_player
то есть считается число рядов таблицы t2 подошедших к ряду таблицы t1по условию
t1.two*t2.one<t2.two*t1.one, то есть когда ряды таблицы t2 имеют процент больший, чем ряд таблицы t1.
Для понимания можно попробовать вывести
SELECT t1.*, t2.*,coalesce(t1.two/t1.one*100, 0) as s4
from player as t1 left join player as t2 on
t1.two*t2.one<t2.two*t1.one
|
и посчитать строки | |
|
|
|
|
|
|
|
для: Trianon
(23.10.2006 в 14:13)
| | >Задача неясна.
>Если охота выжимать собственный (весьма абстрагированный от смысла) результат - действуйте сами.
я дал все данные, которые есть (или могут быть)...
1 10 10 100% 2
2 9 9 100% 2
3 12 8 67% 6
4 10 7 70% 5 //id=4
5 10 7 70% 5 //id = 7
6 9 7 78% 3
7 0 0 0% 7
|
1-ый стольец место, которое занимает игрок по очкам;
2-ой максимальное кол-во очков, которое мог набрать игрок,
3-ий набранное кол-во очков
4-ый процент набранных очков
5-ый место по проценту набранных очков
>В конце концов,какую-то коррекцию результатов можно и на уровне php сделать.
можно..только, пожалуйста, расскажите как считается столбец s5?
Никак не разберусь с JOIN (читал Л. Томсон и Л. Веллинга) | |
|
|
|
|
|
|
|
для: P@Sol
(23.10.2006 в 11:01)
| | Задача неясна.
Самое близкое, что мне удалось получить
это
SELECT t1.*, coalesce(t1.two/t1.one*100, 0) as s4, 1+count(t2.id_player) as s5
from player as t1 left join player as t2 on
t1.two*t2.one<t2.two*t1.one
group by t1.id_player
order by t1.two desc, t1.id_player desc
|
Если охота выжимать собственный (весьма абстрагированный от смысла) результат - действуйте сами.
В конце концов,какую-то коррекцию результатов можно и на уровне php сделать. | |
|
|
|
|
|
|
|
для: P@Sol
(20.10.2006 в 12:02)
| | не получается? | |
|
|
|
|
|
|
|
для: Trianon
(20.10.2006 в 11:11)
| | желательно чтобы было так:
1 10 10 100% 1
2 9 9 100% 2
3 12 8 67% 6
4 10 7 70% 4 //id=4
5 10 7 70% 5 //id = 7
6 9 7 78% 3
7 0 0 0% 7
|
тут различаются только тем, что 4-ая строка выше 5-ой (получается что опять же от id зависит)
но можно и так
1 10 10 100% 1
2 9 9 100% 1
3 12 8 67% 6
4 10 7 70% 4 //id=4
5 10 7 70% 4 //id = 7
6 9 7 78% 3
7 0 0 0% 7
|
тот код что написан выше выдает
1 10 10 100% 2
2 9 9 100% 2
3 12 8 67% 6
4 10 7 70% 5 //id=4
5 10 7 70% 5 //id = 7
6 9 7 78% 3
|
| |
|
|
|
|
|
|
|
для: P@Sol
(20.10.2006 в 09:57)
| | так... а почему пятый столбец у id=4 и id=7 отличается? | |
|
|
|
|
|
|
|
для: P@Sol
(20.10.2006 в 09:57)
| | Ок. подумаю. | |
|
|
|
|
|
|
|
для: Trianon
(20.10.2006 в 09:33)
| | желательно так:
1 10 10 100% 1
2 9 9 100% 2
3 12 8 67% 6
4 10 7 70% 4 //id=4
5 10 7 70% 5 //id = 7
6 9 7 78% 3
7 0 0 0% 7
|
| |
|
|
|
|
|
|
|
для: P@Sol
(20.10.2006 в 09:13)
| | Как и почему должен выглядеть результат если добавить строку
INSERT INTO `player` VALUES (7, 10, 7);
| ? | |
|
|
|
|
|
|
|
для: P@Sol
(18.10.2006 в 13:32)
| | Trianon, жду помощи | |
|
|
|
|