|
|
|
Выбор N любых значений
|
|||
|---|---|---|---|
|
#18+
Добрый день! Помогите решить следующую задачку: Дана таблица ABC, в ней столбцы: FIRM, USER Нужно посчитать для 10 любых значений FIRM количество значений из USER. Одному FIRM может принадлежать несколько USER; при расчете количества USER каждый USER должен попадать только 1 раз. Пример: FIRM USER a 1 a 2 a 1 б 4 Результат: а 2 б 1 Пока я смог подсчитать лишь количество USER по FIRM: select FIRM, count (FIRM) from ABC group by FIRM Но как добавить в расчет условия "10 любых значений FIRM" и уникальность USER при расчете - ума не приложу.. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 15:12 |
|
||
|
Выбор N любых значений
|
|||
|---|---|---|---|
|
#18+
And540, distinct subquery rownum ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 16:20 |
|
||
|
Выбор N любых значений
|
|||
|---|---|---|---|
|
#18+
envAnd540, distinct subquery rownum вот я и ломаю голову, как distinct USER прилепить к моему запросу... Подзапросом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 16:48 |
|
||
|
Выбор N любых значений
|
|||
|---|---|---|---|
|
#18+
And540, Код: plsql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 16:58 |
|
||
|
Выбор N любых значений
|
|||
|---|---|---|---|
|
#18+
envdistinct subquery rownumпо нынешним временам не модно. And540каждый USER должен попадать только 1 разна что попадать? если, например, в А и Б сидел усер 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 21:33 |
|
||
|
Выбор N любых значений
|
|||
|---|---|---|---|
|
#18+
ora601And540, Код: plsql 1. 2. 3. Вот так правильнее select FIRM, COUNT(1) from ( select distinct FIRM, USER from ABC WHERE FIRM IN (SELECT FIRM FROM (SELECT DISTINCT FIRM FROM ABC) WHERE rownum<=10) ) group by FIRM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 09:03 |
|
||
|
Выбор N любых значений
|
|||
|---|---|---|---|
|
#18+
спасибо большое, всё работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 09:42 |
|
||
|
Выбор N любых значений
|
|||
|---|---|---|---|
|
#18+
And540, Как-то так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 17:16 |
|
||
|
Выбор N любых значений
|
|||
|---|---|---|---|
|
#18+
Moss, Может даже так будет правильно с учетом вашего условия "случайные 10" Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 17:35 |
|
||
|
Выбор N любых значений
|
|||
|---|---|---|---|
|
#18+
Moss, Выберет 10 случайных rows, вместо 10 любых firms. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 17:38 |
|
||
|
Выбор N любых значений
|
|||
|---|---|---|---|
|
#18+
Через аналитику это могло бы выглядеть так : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 17:51 |
|
||
|
Выбор N любых значений
|
|||
|---|---|---|---|
|
#18+
ora601, >Выберет 10 случайных rows, вместо 10 любых firms. согласен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 19:02 |
|
||
|
Выбор N любых значений
|
|||
|---|---|---|---|
|
#18+
ora601, только боюсь у вас будет десять первых "уникальных" фирм а не 10 случайных... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 19:05 |
|
||
|
Выбор N любых значений
|
|||
|---|---|---|---|
|
#18+
Mossora601, только боюсь у вас будет десять первых "уникальных" фирм а не 10 случайных... В том то и дело, что если "любых" как нужно ТС, то это решение будет лучше за счет отсутствия +1 sort. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 19:07 |
|
||
|
Выбор N любых значений
|
|||
|---|---|---|---|
|
#18+
ora601, может я не верное понял.. Я понял так : взять любых (рандомных) 10 фирм из всех что есть и по ним посчитать к-во уникальных пользователей.. мей би я не прав... Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 19:23 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39375006&tid=1886750]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 468ms |

| 0 / 0 |
