Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Подсчет записей в базе
Форумы портала PHP.SU » » Работа с СУБД » Подсчет записей в базе

Страниц (1): [1]
 

1. dropoff - 21 Октября, 2011 - 01:26:41 - перейти к сообщению
Доброго времени суток!

Есть такая табличка

CODE (SQL):
скопировать код в буфер обмена
  1. CREATE TABLE IF NOT EXISTS `news` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `news` text,
  4. `rating` int(11) DEFAULT NULL,
  5. PRIMARY KEY (`id`)
  6. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;


Хочется сделать подсчет рейтинга
в таком виде
Новостей с рейтингом 1 - 20
Новостей с рейтингом 2 - 80
Новостей с рейтингом 3 - 40
Новостей с рейтингом 4 - 90
Новостей с рейтингом 5 - 120

И сделать сортировку по рейтингу.

Каким образом лучше составлять запрос(ы) на подсчет?
нужно наверное на rating сделать индекс?
2. caballero - 21 Октября, 2011 - 01:51:57 - перейти к сообщению
обычная группировка GROUP BY
че там думать
3. DeepVarvar - 21 Октября, 2011 - 01:54:27 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT COUNT(n.rating) cnt,n.rating FROM news n GROUP BY n.rating ORDER BY cnt ASC LIMIT 0,5
4. dropoff - 21 Октября, 2011 - 02:37:59 - перейти к сообщению
Спасибо большое!
Не получается такие запросы пока делать)

 

Powered by ExBB FM 1.0 RC1