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

Форум MySQL

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

 

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

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

тема: количество строк с условием
 
 автор: медведь   (09.09.2008 в 02:44)   письмо автору
 
 

pers - имя;
rat - 0 или 1 (положительный или отрицательный отзыв)
Запрос
$res=mysql_query("
SELECT pers, rat, COUNT(rat) as rat_t FROM rate  
GROUP BY rat, pers
ORDER BY rat_t DESC
");

возвращает

имя1 | количество отзывов-4 | положительный
имя2 | количество отзывов-1 | положительный
имя3 | количество отзывов-1 | положительный
имя4 | количество отзывов-1 | отрицательный
имя1 | количество отзывов-2 | отрицательный

Можно как-то в этом же запросе вывести, если есть положительные И отрицательные отзывы:

имя1 | рейтинг-2 (разность положительный минус отрицательный) | количество положительных | количество отрицательных

  Ответить  
 
 автор: ronin80   (09.09.2008 в 07:44)   письмо автору
 
   для: медведь   (09.09.2008 в 02:44)
 

$res=mysql_query("
SELECT pers,
(ifnull((Select COUNT(r.rat) From rate r Where r.pers=rate.pers and r.rat=0),0)-
ifnull((Select COUNT(r.rat) From rate r Where r.pers=rate.pers and r.rat=1),0)) as reiting,
ifnull((Select COUNT(r.rat) From rate r Where r.pers=rate.pers and r.rat=0),0) as rat_good,
ifnull((Select COUNT(r.rat) From rate r Where r.pers=rate.pers and r.rat=1),0) as rat_bad,
FROM rate
GROUP BY pers
ORDER BY (ifnull((Select COUNT(r.rat) From rate r Where r.pers=rate.pers and r.rat=0),0)-
ifnull((Select COUNT(r.rat) From rate r Where r.pers=rate.pers and r.rat=1),0)) DESC
");

покатит? правда не поставил проверку на наличие ответов вообще

  Ответить  
 
 автор: медведь   (09.09.2008 в 10:42)   письмо автору
 
   для: ronin80   (09.09.2008 в 07:44)
 

Спасибо. Покатит. Только запятая лишняя вот здесь
as rat_bad,
FROM rate

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

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