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

Форум MySQL

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

 

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

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

тема: Подсчет уникальных записей
 
 автор: Jackson   (08.01.2012 в 14:56)   письмо автору
 
 

Есть три таблицы - orders, order_items, product. В первой номера заказов, во второй два поля - номер заказа, номер продукта, в третей - номер продукта, производитель продукта. Нужно взять из orders те значения, в заказе которых есть продукты определенного производителя. ТОЛЬКО один раз.
вот сам запрос, выводит номера заказов, но столько раз, сколько продуктов в них.

SELECT orders.order_id FROM orders, order_item, product WHERE 
orders.order_id=order_item.order_id 
AND order_item.product_id=product.product_id
AND product.product_develop='developer' 

  Ответить  
 
 автор: Jackson   (08.01.2012 в 16:00)   письмо автору
 
   для: Jackson   (08.01.2012 в 14:56)
 

разобрался - при помощи команды DISTINCT
созрел еще вопрос - как заставить работать DISTINCT для count:
SELECT DISTINCT count(*) as num_rows FROM table

правомерна ли такая запись?

  Ответить  
 
 автор: cheops   (08.01.2012 в 16:28)   письмо автору
 
   для: Jackson   (08.01.2012 в 16:00)
 

Нет, но можно воспользоваться следующей
SELECT count(DISTINCT order_id) as num_rows FROM table

  Ответить  
 
 автор: Jackson   (08.01.2012 в 17:56)   письмо автору
 
   для: cheops   (08.01.2012 в 16:28)
 

Спасибо!!!

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

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