|
|
|
Последовательный выбор и подсчет строк по изменяющемуся параметру.
|
|||
|---|---|---|---|
|
#18+
Добрый день. Помогите, пожалуйста с запросом: SELECT 'Группа№1' , sum(nvl(zn.znach),0) FROM ( SELECT count(*) as znach FROM primary WHERE OPEN_TIME >= SYSDATE-1 and (DEADLINE - SYSDATE)*24 < 8 and STATUS='Открыт' and ITEM in ('K721', 'K563') group by ITEM ) zn; Мне необходимо подсчитать такое для четырех групп: ITEM in ('K721', 'K563'), ITEM in ('K322', 'K055') , ITEM in ('K129', 'K616', 'K255'), ITEM in ('K361', 'K076', 'K982', 'K451'). Не хочется делать отдельно 4 практически идентичных запроса (или объединять их через UNION ALL) Возможно ли сделать один общий запрос, чтобы в результате было 4 строки с количеством по 4 группам - № 1,2,3,4? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 08:49 |
|
||
|
Последовательный выбор и подсчет строк по изменяющемуся параметру.
|
|||
|---|---|---|---|
|
#18+
Вадим_T, Код: plsql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 09:09 |
|
||
|
Последовательный выбор и подсчет строк по изменяющемуся параметру.
|
|||
|---|---|---|---|
|
#18+
Вадим_T, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 09:45 |
|
||
|
Последовательный выбор и подсчет строк по изменяющемуся параметру.
|
|||
|---|---|---|---|
|
#18+
Stax, ой, count(*) .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 09:48 |
|
||
|
Последовательный выбор и подсчет строк по изменяющемуся параметру.
|
|||
|---|---|---|---|
|
#18+
Вадим_T, А не подскажите тайный смысл такой конструкции? Код: plsql 1. (DEADLINE - SYSDATE) в днях, *24 - ну в бухгалтерии есть понятие 22 рабочих дня в месяце .... но 24? Ну и 8 - это 8 месяцев ... 2/3 года, Вы триместрами работаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 10:52 |
|
||
|
Последовательный выбор и подсчет строк по изменяющемуся параметру.
|
|||
|---|---|---|---|
|
#18+
MaximaXXL, Переводим дни в часы и сравниваем с 8. Вычисляем где до дедлайна осталось меньше 8 часов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 11:09 |
|
||
|
Последовательный выбор и подсчет строк по изменяющемуся параметру.
|
|||
|---|---|---|---|
|
#18+
Переводим дни в часы Дни в часы переводятся делением на 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 11:36 |
|
||
|
Последовательный выбор и подсчет строк по изменяющемуся параметру.
|
|||
|---|---|---|---|
|
#18+
dmdmdm, А ну покаж магию.... ажно хотся взглянуть как ты будешь дялить.... Вадим_T, всегда удивлялся намеренному извращению отдельных личностей, зачем вы не даете ораклу пользоваться индексами буде таковые созданы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 11:41 |
|
||
|
Последовательный выбор и подсчет строк по изменяющемуся параметру.
|
|||
|---|---|---|---|
|
#18+
Vint, Данные извращения от незнания. Я не разбираюсь в индексах. + прав на чужую БД и индексы у меня нету, только на чтение из таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 12:10 |
|
||
|
Последовательный выбор и подсчет строк по изменяющемуся параметру.
|
|||
|---|---|---|---|
|
#18+
Stax, Большое Спасибо! Пока собрать sql запрос не получилось, нет времени. О результатах сообщу :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 12:14 |
|
||
|
Последовательный выбор и подсчет строк по изменяющемуся параметру.
|
|||
|---|---|---|---|
|
#18+
StaxВадим_T, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ..... stax Спасибо! Подскажите, пожалуйста, а как можно срастить 2 таких запроса через left outer join? Ну т.е. группы идентичные (первый столбец), но количество (count) из других таблиц отличается и дописывается 3 столбцом. Я что-то делаю не так с "ON" ? : select CASE when ITEM in ('K721', 'K563') then 'Группа№1' when ITEM in ('K322', 'K055') then 'Группа№2' when ITEM in ('K129', 'K616', 'K255') then 'Группа№3' when ITEM in ('K361', 'K076', 'K982', 'K451') then 'Группа№4' else '?????' end as G1 , count(*) as SS1 from primary P1 left outer join ( select CASE when ITEM in ('K721', 'K563') then 'Группа№1' when ITEM in ('K322', 'K055') then 'Группа№2' when ITEM in ('K129', 'K616', 'K255') then 'Группа№3' when ITEM in ('K361', 'K076', 'K982', 'K451') then 'Группа№4' else '?????' as G2 end , count(*) as SS2 from primary2 where ITEM in ('K721', 'K563', все коды) group by CASE when ITEM in ('K721', 'K563') then 'Группа№1' when ITEM in ('K322', 'K055') then 'Группа№2' when ITEM in ('K129', 'K616', 'K255') then 'Группа№3' when ITEM in ('K361', 'K076', 'K982', 'K451') then 'Группа№4' else '?????' end ) P2 ON P1.G1 = P2.G2 where ITEM in ('K721', 'K563', все коды) group by CASE when ITEM in ('K721', 'K563') then 'Группа№1' when ITEM in ('K322', 'K055') then 'Группа№2' when ITEM in ('K129', 'K616', 'K255') then 'Группа№3' when ITEM in ('K361', 'K076', 'K982', 'K451') then 'Группа№4' else '?????' end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2018, 06:59 |
|
||
|
Последовательный выбор и подсчет строк по изменяющемуся параметру.
|
|||
|---|---|---|---|
|
#18+
MaximaXXL, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext 1. 2. 3. Вадим_T, Может так? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. GR_NUMZNACH18727631264105 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2018, 09:06 |
|
||
|
Последовательный выбор и подсчет строк по изменяющемуся параметру.
|
|||
|---|---|---|---|
|
#18+
Вадим_TСпасибо! Подскажите, пожалуйста, а как можно срастить 2 таких запроса через left outer join? Ну т.е. группы идентичные (первый столбец), но количество (count) из других таблиц отличается и дописывается 3 столбцом. Я что-то делаю не так с "ON" ? : Код: 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. 52. 53. 54. 55. 56. 57. 58. 59. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2018, 13:01 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39641203&tid=1884023]: |
0ms |
get settings: |
8ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
193ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 489ms |

| 0 / 0 |
