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

Форум MySQL

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

 

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

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

тема: Подсчет колличества записей
 
 автор: Indrikozver   (23.12.2007 в 17:20)   письмо автору
 
 

Прошу прощения может не за самый умный вопрос но темнеменее.... Помогите решить задачу:
есть таблица например `Table` в ней есть поля id, record1, record2, link. Поле `Table`.`link` связано с идентификатором в другой таблице ( `mainTable`.`id` ) соотношением многие к одному. Нужно подсчитать колличество одинаковых полей `Table`.`link` и вернуть все остальные поля... т.е. таблица результатов будет иметь примерно такой вид:

`mainTable`.`id` | count(`Table`.`link`)

как должен выглядить такой sql запрос?

   
 
 автор: Trianon   (23.12.2007 в 18:32)   письмо автору
 
   для: Indrikozver   (23.12.2007 в 17:20)
 

Такая таблица результатов достигается следующим запросом

SELECT `link`, COUNT(id) AS cnt 
  FROM `Table`
  GROUP BY `link`


Если требуется вернуть остальные поля основной таблицы, придется досоединить основную таблицу:


SELECT `mainTable`.*, cnt FROM `mainTable` 
  LEFT JOIN 
    (SELECT `link`, COUNT(id) AS cnt 
      FROM `Table`
      GROUP BY `link`) AS tcnt

   
 
 автор: Indrikozver   (24.12.2007 в 10:38)   письмо автору
 
   для: Indrikozver   (23.12.2007 в 17:20)
 

Запрос с добавлением данных из другой таблицы у меня так и не заработал.... Выдал ошибку... проблему удалось решить так:
SELECT
`prod_record`.`id`,
Count(`prod_record`.`prod_id`) AS `cntNumber`,
Sum(`prod_record`.`price`) AS `price`,
Sum(`prod_record`.`bal`) AS `bal`,
`product`.`name`
FROM
`prod_record`
INNER JOIN `product` ON `prod_record`.`prod_id` = `product`.`id`
GROUP BY `prod_id`

   
 
 автор: Trianon   (24.12.2007 в 17:32)   письмо автору
 
   для: Indrikozver   (24.12.2007 в 10:38)
 

грязно.
Формально - запрос неоднозначен.

   
Rambler's Top100
вверх

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