Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Проставить порядок следования цифр

Сообщения:  [1-10]    [11-20]  [21-25] 

 
 автор: Trianon   (24.10.2006 в 18:25)   письмо автору
 
   для: 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 

и посчитать строки

   
 
 автор: P@Sol   (24.10.2006 в 17:27)   письмо автору
 
   для: 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 (читал Л. Томсон и Л. Веллинга)

   
 
 автор: Trianon   (23.10.2006 в 14:13)   письмо автору
 
   для: 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   (23.10.2006 в 11:01)   письмо автору
 
   для: P@Sol   (20.10.2006 в 12:02)
 

не получается?

   
 
 автор: 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   

   
 
 автор: Trianon   (20.10.2006 в 11:11)   письмо автору
 
   для: P@Sol   (20.10.2006 в 09:57)
 

так... а почему пятый столбец у id=4 и id=7 отличается?

   
 
 автор: Trianon   (20.10.2006 в 10:04)   письмо автору
 
   для: P@Sol   (20.10.2006 в 09:57)
 

Ок. подумаю.

   
 
 автор: 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 

   
 
 автор: Trianon   (20.10.2006 в 09:33)   письмо автору
 
   для: P@Sol   (20.10.2006 в 09:13)
 

Как и почему должен выглядеть результат если добавить строку

INSERT INTO `player` VALUES (7, 10, 7);
?

   
 
 автор: P@Sol   (20.10.2006 в 09:13)   письмо автору
 
   для: P@Sol   (18.10.2006 в 13:32)
 

Trianon, жду помощи

   

Сообщения:  [1-10]    [11-20]  [21-25] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования