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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Топ 5
 
 автор: Keyses   (25.05.2009 в 13:44)   письмо автору
 
 

Как выбрать из базы строки со столбцом типа (к примеру INT), чтобы они являлись ТОП 5?

Насколько я понимаю нужно либо юзать как-то ф-цию MAX(), либо же сортировать всю таблицу по нужному нам столбцу и делать LIMIT 5.

У кого есть какие идеи?

  Ответить  
 
 автор: Balamut182   (25.05.2009 в 15:45)   письмо автору
 
   для: Keyses   (25.05.2009 в 13:44)
 

сортировать всю таблицу по нужному нам столбцу и делать LIMIT 5.

  Ответить  
 
 автор: Keyses   (25.05.2009 в 16:20)   письмо автору
 
   для: Balamut182   (25.05.2009 в 15:45)
 

А как на счёт затрат системных ресурсов на выполнения данной операции?
У меня этот спрособ занял 0.0010 сек. проходом по 140 строкам, это норм? Может есть более оптимальный способ?

SELECT stats
FROM `statistics` 
ORDER BY stats DESC 
LIMIT 5;


Видел ещё такой способ:

SELECT MAX( sr_0.stats ) 
FROM statistics sr_0
LEFT JOIN statistics sr_1 ON sr_1.id = sr_0.id
AND sr_1.stats < sr_0.stats
GROUP BY sr_0.stats DESC 
LIMIT 5;

но не очень понятно как он работает

  Ответить  
Rambler's Top100
вверх

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