SnowB
Guest
Не пойму как сделать выборку....
Есть БД... структура такая:
Если оставляют отзыв о компании то в таблице review review.comp_id review.comp_id присваивается идшник компании из таблицы company, a art_id присваивается NULL. И с отзывами по статьям аналогично review.art_id = artice.art_id а review.comp_id = company.comp_id ...
А теперь внимание вопрос..
Нужно сделать выборку в которой будут присутсвовать средние значения оценок ( star_id ) и голичество оценок, как компаний так и статей, сгруппированные по компаниям....
Пока сделал только рейтинг для компаний... дальше мне оперативки не хватает =) я висну =)
Вот тут навоял...
SELECT * , COUNT( * ) AS countstar , AVG(star_id) AS avgstar , company.name AS nazv , company.comp_id AS real_comp_id, IFNULL(AVG(star_id),'0') AS avgstars FROM company LEFT JOIN review ON company.comp_id = review.comp_id GROUP BY company.comp_id ORDER BY avgstars
Спасибо хотя бы за то что прочитали это до конца =)
-~{}~ 08.08.05 12:05:
А вот после того как подсоеденяю третью таблицу не знаю как теперь подсчитывать AVG & COUNT
SELECT * , COUNT( * ) AS countstar , AVG(star_id) AS avgstar , company.name AS nazv , company.comp_id AS real_comp_id, IFNULL(AVG(star_id),'0') AS avgstars FROM company LEFT JOIN review ON company.comp_id = review.comp_id LEFT JOIN articles ON review.comp_id = articles.comp_id GROUP BY company.comp_id ORDER BY avgstars
Есть БД... структура такая:
Если оставляют отзыв о компании то в таблице review review.comp_id review.comp_id присваивается идшник компании из таблицы company, a art_id присваивается NULL. И с отзывами по статьям аналогично review.art_id = artice.art_id а review.comp_id = company.comp_id ...
А теперь внимание вопрос..
Нужно сделать выборку в которой будут присутсвовать средние значения оценок ( star_id ) и голичество оценок, как компаний так и статей, сгруппированные по компаниям....
Пока сделал только рейтинг для компаний... дальше мне оперативки не хватает =) я висну =)
Вот тут навоял...
SELECT * , COUNT( * ) AS countstar , AVG(star_id) AS avgstar , company.name AS nazv , company.comp_id AS real_comp_id, IFNULL(AVG(star_id),'0') AS avgstars FROM company LEFT JOIN review ON company.comp_id = review.comp_id GROUP BY company.comp_id ORDER BY avgstars
Спасибо хотя бы за то что прочитали это до конца =)
-~{}~ 08.08.05 12:05:
А вот после того как подсоеденяю третью таблицу не знаю как теперь подсчитывать AVG & COUNT
SELECT * , COUNT( * ) AS countstar , AVG(star_id) AS avgstar , company.name AS nazv , company.comp_id AS real_comp_id, IFNULL(AVG(star_id),'0') AS avgstars FROM company LEFT JOIN review ON company.comp_id = review.comp_id LEFT JOIN articles ON review.comp_id = articles.comp_id GROUP BY company.comp_id ORDER BY avgstars