Аватар для Dozentos
5 / 6 / 0
Регистрация: 26.10.2013
Сообщений: 118

DISTINCT по двум полям с суммированием значения третьего

13.08.2015, 09:16. Показов 11616. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть таблица, в которой среди прочих есть поля col1, col2 и col3. Значения полей col1 и col2 не уникальны и могут многократно повторяться (в т.ч. и в совокупности).
Нужно сделать выборку в результирующую таблицу, где уникальная совокупность значений col1 и col2 будет встречаться только один раз, при этом значение col3 в результирующей выборке должно представлять собой сумму всех значений col3 таблицы БД для этой совокупности col1 и col2.

Поясню на примере:
Кликните здесь для просмотра всего текста
Таблица в БД
col1 col2 col3
ter2 mat2 3
ter2 mat2 4
ter5 mat2 5

В результирующей выборке должно быть:
col1 col2 col3
ter2 mat2 7
ter5 mat2 5

Вот так:
SQL
1
SELECT * DISTINCT `col1`,`col2` SUM(`col3`) FROM `tables`;
не работает
Подскажите, возможно ли решить задачу средствами SQL? И как должен выглядеть нужный запрос?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.08.2015, 09:16
Ответы с готовыми решениями:

Групировка по двум полям
Привет всем! Есть таблица table в ней есть два поля type1 и type2 (и еще несколько) Как зделать выборку чтобы значения type1 и...

Сортировка по двум полям
Есть таблица с полями name,date,score Нужно вывести отсортированные 15 последних записей по date, отобразив их по убыванию по score ...

Сортировка по двум полям
Помогите разобраться с сортировкой. Есть несколько продуктов в таблице: id rating rating_count 1 | 5 звезд | человек...

3
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
13.08.2015, 09:52
GROUP BY в помощь ...
SQL
1
2
3
SELECT col1, col2, SUM(col3) AS Scol3
FROM TABLES
GROUP BY col1, col2;
1
 Аватар для Dozentos
5 / 6 / 0
Регистрация: 26.10.2013
Сообщений: 118
13.08.2015, 13:38  [ТС]
Да! Работает! И куда проще, чем я полагал!

Добавлено через 1 час 58 минут
Хм... Задача чуть усложнилась.
Строки в которых col2 равно "" (пустой строке) нужно выводить все, остальные группировать.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
13.08.2015, 14:25
Лучший ответ Сообщение было отмечено Dozentos как решение

Решение

Вариант:
SQL
1
2
3
4
5
6
7
8
SELECT col1, col2, SUM(TABLES.col3) AS col3
FROM TABLES
WHERE col2 <>''
GROUP BY col1, col2
UNION ALL
SELECT col1, col2, col3
FROM TABLES
WHERE col2 ='';
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.08.2015, 14:25
Помогаю со студенческими работами здесь

Подключение таблицы к двум полям
Здравствуйте обитатели форума. Пришел просить вашей помощи. В настоящее время изучаю работу с языком SQL и СУБД MySQL. Понадобилось создать...

Уникальный индекс по двум полям
есть уникальный индекс по двум полям. Нужно ли отдельно индексировать поле входящее в этот индекс, если предполагается по этому полю...

Выборка по двум полям с минимальным значением третьего
Добрый день. Простой вопрос: как сделать выборку, что в сабже? Есть поля: Производитель, Артикул, Цена. Нужно, чтобы аксесс...

Макрос слияния строчек по двум параметрам ячеек с суммированием значений
Уважаемые Гуру по Excel и VBA! Прошу помощи по написанию макроса для данного файла. Есть файл, в нем макрос, но объединение и суммирование...

Поиск по двум полям в БД
Сейчас опять наверно зафлудю..., но все же после утомительного поиска прибег к поиску ответа у форумчанинов Итак, есть элементарная БД...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Динамические массивы в C++ - создание и использование
NullReferenced 27.04.2025
Динамические массивы представляют собой один из фундаментальных инструментов программирования на C++, позволяющий создавать структуры данных, размер которых определяется во время выполнения. . .
Асинхронный JavaScript: Промисы, Async/Await и Fetch API
Reangularity 27.04.2025
Пользователь заходит на веб-страницу, нажимает кнопку и. . . ничего не происходит. Сайт словно замер. Через несколько секунд всё внезапно оживает, но пользователь уже успел закрыть вкладку. Знакомая. . .
Management on GitLab and repository management in Visual Studio code
jigi33 27.04.2025
- repo management on GitLab - CI/ CD in GitLab - VCS repository management in Visual Studio code (see attachments)
Kanban или Scrum - что выбрать?
EggHead 27.04.2025
Kanban и Scrum — уже много лет удерживают лидирующие позиции среди гибких подходов. Руководители проектов и команды разработчиков то и дело сталкиваются с дилеммой: какой из этих двух методов выбрать. . .
Кастомные Middleware на C# в ASP.NET Core
UnmanagedCoder 27.04.2025
Разработка веб-приложений сегодня мало напоминает монолитное программирование прошлых лет. На смену громоздким блокам кода пришла модульная архитектура, где каждый компонент выполняет строго. . .
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru