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

Форум MySQL

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

 

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

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

тема: Выбрать больше чем для вычисляемого значения count(c.tag_id)
 
 автор: Aidaho   (07.10.2011 в 07:42)   письмо автору
 
 

ДД! Что бы долго не описывать проблему вот запрос:
SELECT c1.Id, c1.tag, COUNT(c2.tag_id) AS quantity FROM tags AS c1 JOIN post_tag AS  c2 ON c1.Id = c2.tag_id GROUP by c1.Id

Можно ли поправить его так, что бы он выбирал наподобие:
where count(c.tag_id) > 20

то что я написал не работает, написал что бы была понятна проблема :)
Второй запрос думаю не особо поможет.

  Ответить  
 
 автор: Valick   (07.10.2011 в 09:00)   письмо автору
 
   для: Aidaho   (07.10.2011 в 07:42)
 

можно, только вместо WHERE нужно использовать HAVING

  Ответить  
 
 автор: Aidaho   (07.10.2011 в 10:24)   письмо автору
 
   для: Valick   (07.10.2011 в 09:00)
 

О! )
спасибо, а я об этой функции даже и не читал, видел, но для чего не знал.
Ушел читать маны.

  Ответить  
 
 автор: cheops   (07.10.2011 в 09:59)   письмо автору
 
   для: Aidaho   (07.10.2011 в 07:42)
 

Следует поступить так, как пишет Valick
SELECT c1.Id, c1.tag, COUNT(c2.tag_id) AS quantity 
FROM tags AS c1 JOIN post_tag AS  c2 ON c1.Id = c2.tag_id
GROUP by c1.Id
HAVING count(c.tag_id) > 20

  Ответить  
 
 автор: Aidaho   (07.10.2011 в 10:25)   письмо автору
 
   для: cheops   (07.10.2011 в 09:59)
 

Спасибо!
а казалось такой сложной проблемой )
кстати, а можно ли проводить в having вычисления? например так:
HAVING quantity > std(quantity)

или
HAVING quantity > MAX(quantity)/min(quantity)

на это выкидывает ошибку мол нет такого поля как quantity
причем если сделать например
HAVING quantity > 2

то работает.

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

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