SQL

Добрый день! Помогите пожалуйста сообразить, как написать запрос

Sql запрос, который выводит полную таблицу продуктов с дополнительным стобцом количества продуктов на один код производителя.
Ник
Ник
338
У вас колонки в БД так по-русски и называются, с пробелами? Или это при выводе им назначили названия? Для написания запроса надо знать, какие они в таблицах, и само название таблицы тоже нужно.

И какая СУБД? Возможности агрегирования сильно зависят от реализации.

Например, в некоторых можно сделать так:
 SELECT "Код продукта", "Наименование", "Производитель",
COUNT(*) AS "Количество продуктов у производителя"
FROM "Продукты"
ORDER BY "Код продукта"
В одной колонке будет агрегация по колонке "Производитель", а остальные пойдут как есть, без агрегации. Агрегат растиражируется во все строки, по которым он собран, как вам и нужно в задаче.

Замените названия таблицы и колонок на ваши, если они отличаются.

А если в вашей СУБД это не сработает, можно сделать через подзапрос или связку, как написано ниже.
 SELECT p."Код продукта", p."Наименование", p."Производитель",
COUNT(s."Код продукта") AS "Количество продуктов у производителя"
FROM "Продукты" p, "Продукты" s
WHERE p."Код продукта" = s."Код продукта"
GROUP BY s."Производитель"
ORDER BY "Код продукта"
Армен .....
Армен .....
87 571
Лучший ответ
Ник Простите пожалуйста, а вот так не получится?

SELECT
id_producta,
name,
proizvoditel,
COUNT(proizvoditel) OVER (PARTITION BY proizvoditel) as colichestvo
FROM products;
 SELECT
g1.код_продукта,
g1.наименование,
g1.производитель,
(
SELECT COUNT(*)
FROM продукты AS g2
WHERE g2.производитель = g1.производитель
) AS количество
FROM продукты AS g1
 SELECT
g1.код_продукта,
g1.наименование,
g1.производитель,
g2.количество
FROM продукты AS g1
INNER JOIN (
SELECT производитель, COUNT(*) AS количество
FROM продукты
GROUP BY производитель
) AS g2
ON g1.производитель = g2.производитель
ПМ
Пётр Малышин
82 748
Ник Простите пожалуйста, а вот так не получится?

SELECT
id_producta,
name,
proizvoditel,
COUNT(proizvoditel) OVER (PARTITION BY proizvoditel) as colichestvo
FROM products;