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

Форум MySQL

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

 

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

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

тема: Подсчет COUNT
 
 автор: OLi   (06.01.2013 в 17:59)   письмо автору
 
 

Есть такой запрос:

SELECT DISTINCT (
jobs.id_job
), COUNT( cvs.id_cv ) AS new, instans.name, jobs.name AS  `name_job` , jobs.id_inst
FROM jobs
LEFT JOIN instans ON jobs.id_inst = instans.id_inst
LEFT JOIN instans_images ON instans.id_inst = instans_images.id_inst
LEFT JOIN cvs ON instans.id_inst = cvs.id_inst
WHERE instans.name REGEXP  "^[0-9]"
GROUP BY cvs.id_cv
ORDER BY id_job DESC 
LIMIT 0 , 30


Проблема в том, что из-за группировки теряется одна строка от условия
LEFT JOIN instans ON jobs.id_inst = instans.id_inst


Нужно подсчетать ко-во записей в таблице cvs для каждой найденной записи от предыдущих условий LEFT JOIN

Спасибо!

  Ответить  
 
 автор: OLi   (06.01.2013 в 18:50)   письмо автору
 
   для: OLi   (06.01.2013 в 17:59)
 

Добавил еще одно поле. В итоге сделал так:

SELECT jobs.id_job, instans.name, jobs.name AS  `name_job` , jobs.id_inst, COUNT( * ) AS new
FROM jobs
LEFT JOIN instans ON jobs.id_inst = instans.id_inst
LEFT JOIN instans_images ON instans.id_inst = instans_images.id_inst
INNER JOIN cvs ON cvs.id_job = jobs.id_job
WHERE instans.name REGEXP  "^[0-9]"
AND cvs.status =1
GROUP BY id_job
ORDER BY id_job DESC 
LIMIT 0 , 30

  Ответить  
 
 автор: oradev   (18.01.2013 в 22:30)   письмо автору
 
   для: OLi   (06.01.2013 в 18:50)
 

Запрос откровенно оставляет желать лучшего о чем свидетельствует 1-ая же строчка:

SELECT jobs.id_job, instans.name, jobs.name AS  `name_job` , jobs.id_inst, COUNT( * ) AS new 


Будьте добры приведите структуру базы.

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

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