[英]SQL query to select rows based on condition
SELECT
MNo, X, Y, Z
FROM
Coord C
JOIN Result R ON R.ResultID = C.ResultID
JOIN Member M ON M.MemberID = R.MemberID
WHERE
M.StdID = @stdID
GROUP BY
MNo
我有一個查詢,女巫為由MNo表示的每個成員給我x,y和z坐標。 有些議員可以有多於一排的座標,我想得到那些座標的平均值(並且只有那些),例如
MNo x y z 15 10.6 12.3 20.1 16 11.1 17.8 14.0
僅以一排坐標省略了成員1-14和17-。 我怎樣才能做到這一點?
對於問題的第一部分-平均,您需要AVG。
對於問題的第二部分-如何過濾掉成員1-14和17-,您需要一個WHERE子句。
對於問題的第3部分-如何擺脫只有1行坐標的成員,您需要HAVING子句。
匯集這些,我們有:
SELECT
MNo, AVG(X) AS X, AVG(Y) AS Y, AVG(Z) AS Z
FROM
Coord C
JOIN Result R ON R.ResultID = C.ResultID
JOIN Member M ON M.MemberID = R.MemberID
WHERE
M.StdID = @stdID
AND M.MNo NOT BETWEEN 1 AND 14
AND M.MNo NOT BETWEEN 17 and 20
GROUP BY
MNo
HAVING
COUNT(1) > 1
筆記:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.