2014-01-19 5 views
2

Я хотел взять среднее из двух столбцов и отображение в новом колонке что-то вроде этого:Среднего из двух столбцов в SQL

+-+--+--+--+--------+--------+ 
|A|B |C |D |AVG(B/C)|AVG(C/B)| 
+-+--+--+--+--------+--------+ 
|S|23|34|56|  |  | 
+-+--+--+--+--------+--------+ 
|T|45|6 |79|  |  | 
+-+--+--+--+--------+--------+ 

Таким образом, как показано выше, мне нужно, чтобы принять каждое значение строки и выполнить B/C, а затем принять среднее значение, чтобы отобразить его в новом столбце.

Я хотел сделать это в SQL-запросе. Возможно ли это выполнить в команде SQL? Я знаю, что функция AVG() занимает среднее значение столбца, но как я могу сделать B/C, а затем взять среднее значение? также, если мне нужно взять среднее значение B и C, как я могу это сделать.

Это то, что я делаю прямо сейчас:

Select A,B,C,D FROM tableTest where A='S'; 

теперь я должен взять среднее из соответствующих, а также есть еще два столбца дополнительно в запросе, чтобы показать соответствующие результаты.

ответ

1

Вы должны дать ему попробовать:

SELECT A, AVG((B+C)/2) as bc, AVG((C+B)/2) as cb 
FROM tableTest 
WHERE A = 'S' 
GROUP BY A 
+0

Спасибо вам MarcinJuraszek, его работу, но если мне нужно взять среднюю из двух колонок не column1/column2 тогда как я должен сделать это, просто 'AVG (Col1 , Col2) 'будет работать? – AKIWEB

+4

Применение простой математики 'AVG' из двух столбцов должно быть таким же, как' AVG ((Col1 + Col2)/2) ', не так ли? – MarcinJuraszek

+0

Правильно, но я полагаю, что встроенная функция '' AVG' 'SQL' просто нуждается в аргументах в качестве имени столбца, и в среднем это значение равно. Благодаря! – AKIWEB

Смежные вопросы