|
|
|
Определение ТОП 5 лучших записей
|
|||
|---|---|---|---|
|
#18+
Привет всем! Народ, хочу выложить в MySQL Cook Room вот такую задачу: Задача: Требуется определить рейтинг пяти лучших записей в таблице. Исходные данные: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Вроде бы все верно, но есть еще один юзер, у которого vote=1 Код: plaintext 1. 2. 3. 4. 5. 6. Как мне кажется, было бы более правильным включить Joe тоже в список ТОП 5 . Т.к., на самом деле, не понятно кто из них "круче". Есть такой вариант для более корректного нахождения подобных записей: Код: plaintext 1. 2. 3. 4. Теперь мы можем определить "лучших" юзеров: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Примечание: MySQL ManualС версии MySQL 4.0.2 для создания временных таблиц необходимо иметь привилегии CREATE TEMPORARY TABLES. Вообщем, что вы думаете по этому поводу? Ваши советы, критика, пожелания и т.д. Может быть есть более изящый вариант? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 12:29 |
|
||
|
Определение ТОП 5 лучших записей
|
|||
|---|---|---|---|
|
#18+
Конкретной реализации не предложу. Но вот алгоритм: узнать значение пятой по старшенству записи (ну в смысле очков сколько, или что там тебя), а потом выдернуть записи у которых больше, или равно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 14:41 |
|
||
|
Определение ТОП 5 лучших записей
|
|||
|---|---|---|---|
|
#18+
SarinКонкретной реализации не предложу. Но вот алгоритм: узнать значение пятой по старшенству записи (ну в смысле очков сколько, или что там тебя), а потом выдернуть записи у которых больше, или равно. Слушай, точно! :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 15:01 |
|
||
|
Определение ТОП 5 лучших записей
|
|||
|---|---|---|---|
|
#18+
А мускль у тебя 4.1? Завидую. Я на работе проект сейчас внедряю. Мускль 4.0.22. Вложенных запросов нет. Утрахался нахрен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 15:14 |
|
||
|
Определение ТОП 5 лучших записей
|
|||
|---|---|---|---|
|
#18+
SarinА мускль у тебя 4.1? Завидую. Я на работе проект сейчас внедряю. Мускль 4.0.22. Вложенных запросов нет. Утрахался нахрен. ага (4.1.8) :) Мда... тяжеловато конечно... Немного лирики ... Вообще когда перешел с Оракла на MySQL (хоть и с небольшим опытом), то мне по началу было просто странно как некоторых фичей нету. :) Щас вроде бы начинаю привыкать. P.S. Вчера мой "коллега" только узнал, что MySQL наконец-то поддерживает Group By, не говоря уже вложенных селектах :)) Он просто в тройке работает. Представляю как он "трахался" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 15:37 |
|
||
|
Определение ТОП 5 лучших записей
|
|||
|---|---|---|---|
|
#18+
Гы... тяжко без подзапросов... С подзапросами - вот так: Код: plaintext Без подзапроса - выполни два селекта, промежуточный результат сохрани в программе: Код: plaintext Код: plaintext По-моему одним запросом это не победить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 15:37 |
|
||
|
Определение ТОП 5 лучших записей
|
|||
|---|---|---|---|
|
#18+
Кувалдин Роман Сам не юзал. Потому и спрашиваю: а если вместо сохранения в программе использовать пользовательскую переменную? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 15:56 |
|
||
|
Определение ТОП 5 лучших записей
|
|||
|---|---|---|---|
|
#18+
Ну что отправляем в MySQL Cook Room следующий вариант? :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 16:33 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=33119669&tid=1853936]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
177ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 476ms |

| 0 / 0 |
