powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Задача с подвохом
2 сообщений из 2, страница 1 из 1
Задача с подвохом
    #39190792
Stakats
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день

Есть следующая задача:
Написать SQL-запрос, возвращающий следующие результаты:
количество уникальных значений поля pos_id по каждому из значений полей color, type, weight, а также по каждому подмножеству значений этих полей.

Исходные данные:
pos_id color type weight
111 желтый апельсин кг
111 красный апельсин г
111 желтый помидор кг
222 желтый помидор г
222 красный помидор г
333 красный помидор г

Требуемые данные:
color type weight cnt_pos_id
желтый апельсин кг 1
красный апельсин г 1
желтый помидор кг 1
желтый помидор г 1
красный помидор г 2
все апельсин кг 1
все апельсин г 1
все помидор кг 1
все помидор г 2
желтый все г 1
желтый все кг 1
красный все г 3
все все г 3
все все кг 1
все все все 3

Выполняю задачу следующим запросом:
select isnull(color,'все'), isnull(type,'все'), isnull(weight,'все'), count(distinct pos_id)
from dbo.cur_data_1
group by cube(color,type, weight)

но появляются лишние значения группировки по весу.
подскажите, как соптимизировать запрос и получить корректные требуемые данные.
P.S. дописать where - ок, но возможно есть более элегантное решение

Всем спасибо, с меня бонус в 200 р на мобильный телефон
...
Рейтинг: 0 / 0
Задача с подвохом
    #39190863
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да ты MS SQL от MySQL отличить не можешь! Куда тебе в такие дебри лезть?
Впрочем, WITH ROLLUP работает везде, где поддерживается.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Задача с подвохом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]