| Купил Х раз | Имя | Производитель |
|---|---|---|
| 19 | Оливец Faber-Castell, Castell 9000 F | Faber Castell |
| 14 | Цвет акриловых глянцевых фарб C. Kreul El Greco 18 цветов | Креул |
| 10 | Набір акварельних фарб "Класика", Галерея РОСА, 12кол. | РОСА ГРУП |
| 7 | Профессиональный акварельный пензлик Winsor & Newton - One Stroke | Винзор и Ньютон |
| 6 | Ластик электрический Derwent | Деруэнт |
| 6 | Гумка Koh-i-Noor 300/80 Слон | Кох-И-Нур |
| 5 | Набор маркеров Copic Sketch Set Skin Tones, 6 шт. | Копик |
| 4 | Склейка для акварели Derwent Inktense 300г 20л | Деруэнт |
| 4 | Пастель Van Gogh Royal Talens 60 цветов | Королевские таланты |
| 4 | Блокнот American Crafts Journal Studio | Американские ремесла |
| 3 | Цветные масла Prismacolor Premier 72 цвета в металевом пенале | Призмаколор |
Я создал запрос, который генерирует результаты, подобные приведенным выше. И, как видите, есть две строки, в которых Derwent указан как Производитель. Я хотел бы оставить только строки от каждого производителя, где «Куплено X раз» (столбец, сгенерированный Count()) максимально. Как я могу это сделать? В результате хочу получить
| Купил Х раз | Имя | Производитель |
|---|---|---|
| 19 | Оливец Faber-Castell, Castell 9000 F | Faber Castell |
| 14 | Цвет акриловых глянцевых фарб C. Kreul El Greco 18 цветов | Креул |
| 10 | Набір акварельних фарб "Класика", Галерея РОСА, 12кол. | РОСА ГРУП |
| 7 | Профессиональный акварельный пензлик Winsor & Newton - One Stroke | Винзор и Ньютон |
| 6 | Ластик электрический Derwent | Деруэнт |
| 6 | Гумка Koh-i-Noor 300/80 Слон | Кох-И-Нур |
| 5 | Набор маркеров Copic Sketch Set Skin Tones, 6 шт. | Копик |
| 4 | Пастель Van Gogh Royal Talens 60 цветов | Королевские таланты |
| 4 | Блокнот American Crafts Journal Studio | Американские ремесла |
| 3 | Цветные масла Prismacolor Premier 72 цвета в металевом пенале | Призмаколор |
Запрос:
SELECT Count(Goods.Contract) AS [Bought X times], Goods.Goods_name AS [Name], Producer.Company AS [Manufacturer]
FROM Producer INNER JOIN (Goods INNER JOIN [Goods-Check] ON Goods.Goods_code= [Goods-Check].Goods_code) ON Producer.Contract= Producer.Contract
GROUP BY Goods.Goods_name, Producer.Company
ORDER BY Count(Goods.Contract) DESC;
@JonasMetzler обновил мой вопрос
Ваш запрос хранится как запрос MS Access?
@SalmanA Да, это так


Старомодное решение состоит в том, чтобы фильтровать строки, где другая строка с большим значением делает not exists:
SELECT *
FROM Query1 AS t
WHERE NOT EXISTS (
SELECT 1
FROM Query1 AS x
WHERE x.Manufacturer = t.Manufacturer
AND x.[Bought X times] > t.[Bought X times]
)
Это стандартный SQL, не уверен, что он работает в MS Access.
Большое спасибо! Это работает :) Есть ли способ выполнить все в одном запросе?
Пожалуйста, загружайте не изображения, а ваш запрос и ожидаемый результат в виде текста.