SQL 根据其他列的条件进行平均计算
SQL Average Calculation based on conditions of other columns
如何根据其他列的条件输出一列的平均值?例如,这是我所做的:
SELECT
AVG(TestScores WHERE ID = 1 AND Date_On BETWEEN '2017-04-08' AND '2017-04-12' AND Code = '87A')
FROM
Table_Name
我想要的目标是在 row = 1
的 ID
和日期落在我指定的时间间隔之间时获得 TestScores
列的平均值。这可能吗?
如果您在 Sql 服务器上,那么以下是您要查找的内容(我认为):
SELECT
AVG(TestScores)
FROM
Table_Name
WHERE ID = 1
AND Date_On BETWEEN '2017-04-08' AND '2017-04-12'
AND Code = '87A'
EDIT, as per comments underneath:
SELECT
ID,
AVG(TestScores)
FROM
Table_Name
WHERE
Date_On BETWEEN '2017-04-08' AND '2017-04-12'
AND Code = '87A'
GROUP BY ID
这里是查询:-
SELECT AVG(TestScores)
FROM Table_Name
WHERE ID = 1 AND
Date_On BETWEEN '2017-04-08' AND '2017-04-12' AND Code = '87A'
如何根据其他列的条件输出一列的平均值?例如,这是我所做的:
SELECT
AVG(TestScores WHERE ID = 1 AND Date_On BETWEEN '2017-04-08' AND '2017-04-12' AND Code = '87A')
FROM
Table_Name
我想要的目标是在 row = 1
的 ID
和日期落在我指定的时间间隔之间时获得 TestScores
列的平均值。这可能吗?
如果您在 Sql 服务器上,那么以下是您要查找的内容(我认为):
SELECT
AVG(TestScores)
FROM
Table_Name
WHERE ID = 1
AND Date_On BETWEEN '2017-04-08' AND '2017-04-12'
AND Code = '87A'
EDIT, as per comments underneath:
SELECT
ID,
AVG(TestScores)
FROM
Table_Name
WHERE
Date_On BETWEEN '2017-04-08' AND '2017-04-12'
AND Code = '87A'
GROUP BY ID
这里是查询:-
SELECT AVG(TestScores)
FROM Table_Name
WHERE ID = 1 AND
Date_On BETWEEN '2017-04-08' AND '2017-04-12' AND Code = '87A'