Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск

Кто сейчас на форуме
Сейчас посетителей на форуме: 2, из них зарегистрированных: 0, скрытых: 0 и гостей: 2

Нет

[ Посмотреть весь список ]


Больше всего посетителей (7) здесь было Сб Июн 17, 2017 3:57 pm
Самые активные пользователи за неделю


ДЗ №4 пункт 10

Предыдущая тема Следующая тема Перейти вниз

ДЗ №4 пункт 10

Сообщение автор Дмитрий1 в Сб Июл 29, 2017 2:40 pm

Ярослав, Здравствуй!

Не могу написать запрос. Или не понимаю задание. Или где то делаю ошибку.

10. Показать категорию, товаров которой в магазине находится меньше всего.

Код:

SELECT Category.NameCategory
FROM Category, Product
WHERE Category.IdCategory = Product.IdCategory
GROUP BY Category.NameCategory
HAVING Min(Product.Quantity);

Нужна одна запись Категория, а выводятся несколько.

Функцию Min() в условия ввести нельзя(((

Дмитрий1

Posts : 1
Join date : 2017-05-13

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: ДЗ №4 пункт 10

Сообщение автор Ярослав в Вс Авг 13, 2017 6:09 pm

Для начала я написал выборку, показывающую соотношение категории и количества товара этой категории:
Код:
SELECT idCategory, sum(quantity)
FROM Product
GROUP BY idCategory

Затем отсортировал по возрастанию количества товара:
Код:
SELECT idCategory, sum(quantity)
FROM Product
GROUP BY idCategory
ORDER BY sum(quantity) ASC

Это показывает все товары, и нужный нам находится на первой строчке. Затем я добавил инструкцию «TOP 1» сразу после SELECT. Это ограничивает выборку первой строкой:
Код:
SELECT TOP 1 idCategory, sum(quantity)
FROM Product
GROUP BY idCategory
ORDER BY sum(quantity) ASC

SELECT TOP N является нестандартным расширением SQL, специфичным для Access. MySQL использует слово LIMIT, а Oracle ROWNUM.

Пожалуй, это самое простое решение; другие требуют использования подзапроса или соединения таблиц.
avatar
Ярослав
Admin

Posts : 346
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения