|
|
|
Задача с подвохом
|
|||
|---|---|---|---|
|
#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&gotonew=1&tid=1832069]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 337ms |

| 0 / 0 |
