|
|
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Имеется запрос, возвращающий id пациента, дату обращения и сумму, уплаченную за услугу. Необходимо вывести средний чек по больнице в этот день, то есть общую сумму (3000р) поделить на 2 (кол-во пациентов). Пробовал писать подзапросы с конструкцией avg(sum(..)) и sum(..)/count(..), но пока добился только подсчета среднего по каждому человеку. Посоветуйте пожалуйста, как решить эту простую проблему Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2016, 21:44:47 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
Locust1, Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2016, 22:58:15 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
Еще у кого-нибудь есть идеи? Нужно что-то типа такого, только среднее по всему Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2016, 23:20:27 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
Locust1, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 00:06:40 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
сорри, у тебя же не уникальные пациенты.. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 00:13:39 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
--Eugene--, Похоже больше на шутку про Кутузова, но свалим это на мои скудные знания ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 00:30:21 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
WITH aa as ( SELECT t1.service_price, t2.treatment_date, t2.patient_code FROM services t1, filling_forms t2, service_list t3 WHERE t2.filling_form_code=t3.filling_form_code AND t1.service_code=t3.service_code AND t2.treatment_date='30.03.16') SELECT aa.treatment_date, sum(aa.service_price)/ (SELECT count(*) FROM (SELECT DISTINCT a1.patient_code FROM aa a1)) avg_sum, FROM aa GROUP BY aa.treatment_date ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 08:54:15 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
sum(бабло)/ nullif(count(distinct пациент),0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 09:20:40 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
Поправил с учетом вышенаписанного SELECT sum(t1.service_price) / count(DISTINCT t2.patient_code) avg_sum FROM services t1, filling_forms t2, service_list t3 WHERE t2.filling_form_code=t3.filling_form_code AND t1.service_code=t3.service_code AND t2.treatment_date='30.03.16' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 09:38:49 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
Locust1, на выходе результат как должен выглядеть? в виде одной строки с датой и значением среднего чека на эту дату? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 09:45:35 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
Locust1, А если у одного пациента в этот день 2 чека было? Тогда все вычисление перекосится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 09:47:18 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
Locust1, вот так попробуй: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 09:51:41 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
kaldoreyА если у одного пациента в этот день 2 чека было? Тогда все вычисление перекосится Читайте ТЗ внимательнее. Там ровно два чека у одного пациента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 09:51:56 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
Egoр, Не совсем. Сказано: "вывести средний чек по больнице в этот день, то есть общую сумму (3000р) поделить на 2 (кол-во пациентов)" Средний чек = сумма по всем чекам/количество чеков. 2 - это должно быть не кол-во пациентов - а количество чеков- независимо, тот же пациент покупает или другой. Добрый Э - Эх написал уже по делу, осталось только понять, соответствует ли filling_forms к чеку 1 к 1, или это просто разные формы заполнения, например одна для операций, а другая для оплаты палаты и лекарств для восстановления, а в чеке общим пробьют. А так то конечно то еще скотство. Наглядное свидетельство того, что побольше лечения втюхать, а не вылечить по совести ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 11:33:51 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
ага, картинки то у меня не подгружались тогда, будто у меня их и не было, без них по другому воспринимается, сори ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 16:26:09 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
Спасибо всем большое, в итоге всё так Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 22:04:50 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
Locust1, ппц... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2016, 00:43:23 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
ну или Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2016, 09:30:35 |
|
||
|
Найти среднее значение по столбцу
|
|||
|---|---|---|---|
|
#18+
Daniil1993ну или Код: plsql 1. 2. 3. 4. на нагруженной системе из дуала все строки выберут и запрос перестанет возвращать значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2016, 10:22:38 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39263290&tid=1888000]: |
0ms |
get settings: |
4ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
143ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 180ms |
| total: | 401ms |

| 0 / 0 |
