|
|
|
Помогите с группировкой.
|
|||
|---|---|---|---|
|
#18+
В таблице есть id, prod id prod -- ----- 1 a 2 a 3 a 4 a 5 b 6 b 7 b 8 c 9 c если сделать группировку по каждому prod: select prod, count(prod) from table group by prod получется: prod count(prod) ----- ---------- a 4 b 3 c 2 как сделать, чтобы вывелось количество 'a' и количество не 'a'? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2018, 02:15 |
|
||
|
Помогите с группировкой.
|
|||
|---|---|---|---|
|
#18+
Piastry, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2018, 03:13 |
|
||
|
Помогите с группировкой.
|
|||
|---|---|---|---|
|
#18+
SkilledJuniorPiastry, Код: plsql 1. 2. 3. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2018, 03:58 |
|
||
|
Помогите с группировкой.
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous, декоданс group by decode(prod,'a','a','others') - вариант не очень чтобы очень ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2018, 13:55 |
|
||
|
Помогите с группировкой.
|
|||
|---|---|---|---|
|
#18+
SkilledJuniorandrey_anonymous, декоданс group by decode(prod,'a','a','others') - вариант не очень чтобы очень Ну да, двойной просмотр таблицы через UNION это точно ренессанс . SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2018, 15:00 |
|
||
|
Помогите с группировкой.
|
|||
|---|---|---|---|
|
#18+
SY, Индекс можно создать, а вот что делать с decode(prod,'a','a','others'), когда понадобится то же самое по b или по с? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2018, 15:05 |
|
||
|
Помогите с группировкой.
|
|||
|---|---|---|---|
|
#18+
SkilledJuniorSY, Индекс можно создать, а вот что делать с decode(prod,'a','a','others'), когда понадобится то же самое по b или по с? У тебя во второй части UNION условие or prod is null, так что просто индекс даст IRS + FTS: Код: 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. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. Можно конeчно: Код: 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. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. Но все равно два промотра индекса (IRS + IFS). А теперь сравни: Код: 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. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. Ну и число SORT AGGREGATE сравни. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2018, 15:24 |
|
||
|
Помогите с группировкой.
|
|||
|---|---|---|---|
|
#18+
SkilledJuniorчто делать с decode(prod,'a','a','others'), когда понадобится то же самое по b или по с? Эээ... дай угадаю - поправить decode? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2018, 16:25 |
|
||
|
Помогите с группировкой.
|
|||
|---|---|---|---|
|
#18+
SYМожно конeчно: К sum(decode(...)) претензий и не было. Можно сделать поле prod not null, задав к примеру 'n' как не определен, или создать FBI с подобным же правилом типа nvl(, плюс ограничение на вставку в поле значения 'n', условие модифицируется в соответствии с выбранным вариантом. И в таком случае group by decode(prod,'a','a','others') как минимум не быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2018, 21:59 |
|
||
|
Помогите с группировкой.
|
|||
|---|---|---|---|
|
#18+
SkilledJuniorgroup by decode(prod,'a','a','others') как минимум не быстрее.Не словоблужествуй, приводи код и план с union. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2018, 22:16 |
|
||
|
Помогите с группировкой.
|
|||
|---|---|---|---|
|
#18+
-2-, SYУ тебя во второй части UNION условие or prod is null, так что просто индекс даст IRS + FTSДаже в таком варианте группировка с декодом проигрывает по времени выполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2018, 22:36 |
|
||
|
Помогите с группировкой.
|
|||
|---|---|---|---|
|
#18+
SkilledJuniorДажеСловоблудие хуже фактов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 07:33 |
|
||
|
Помогите с группировкой.
|
|||
|---|---|---|---|
|
#18+
Piastry, Код: 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. 25. 26. 27. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 10:11 |
|
||
|
Помогите с группировкой.
|
|||
|---|---|---|---|
|
#18+
Elic, Попробуй сам на паре-тройке миллионов строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 21:35 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39731340&tid=1883200]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
177ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 493ms |

| 0 / 0 |
