|
|
|
Задача с подвохом
|
|||
|---|---|---|---|
|
#18+
Добрый день Есть следующая задача: Написать 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 р на мобильный телефон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2016, 10:34 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=109&tid=1832069]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 362ms |

| 0 / 0 |
