Используйте счет в AVG - PullRequest
0 голосов
/ 04 июня 2019

У меня есть два выбора с количеством, которые мне нужно использовать в AVG. Теоретически СРЕДНИЙ = A + B / C. У меня есть значения A + B и C. Я делаю домашнюю работу, где у меня есть стол рецептов и стол для встреч. Мне нужно знать AVG для рецептов / назначений в 2017 году. Например, в 2017 году у меня было 6 назначений и 4 назначения. Так что AVG = 4/6.

This gives me A+B= 4.

select COUNT(*) FROM prescription
WHERE date_hour like '2017%';



This gives me C= 6.

select COUNT(*) FROM appointment
WHERE date_hour like '2017%';

Я провел какое-то исследование и не повезло. Я новичок в MYSQL. Как я могу рассчитать AVG для этих 2 вариантов?

Спасибо

Ответы [ 2 ]

1 голос
/ 04 июня 2019

Вы можете выполнить деление непосредственно в операторе SELECT:

select
  (select COUNT(*) FROM prescription WHERE date_hour like '2017%') /
  (select COUNT(*) FROM appointment WHERE date_hour like '2017%') as averageresult
0 голосов
/ 04 июня 2019

Если вы просто делаете это для этой одной строки в инструкции SELECT, вы можете сделать следующее:

 SELECT NUM/DEN FROM (
 SELECT COUNT(*) NUM FROM PRESCRIPTION
 WHERE DATA_HOUR LIKE '2017%')
 ,
 (SELECT COUNT(*) DEN FROM APPOINTMENT
 WHERE DATA_HOUR LIKE '2017%')

Если вам нужно сгруппировать это по нескольким DATA_HOURS, больше информации оМетод агрегации будет необходимо.

...