考虑这两个表
AverageGame Table
firstGame secondGame thirdGame
10 20 30
人员表
Person first second third
Bob 10 10 30
Bob 20 10 30
Bob 10 20 30
我试图返回bob得分与AverageGame表中的平均值相同的次数(例如,他首次获得10次,第二次获得20次,第三次获得30次) 结果应该是
[2,1,3]
任何人都可以告诉我如何做到这一点,因为我目前只能为一个专栏做这件事,非常感谢任何帮助谢谢
答案 0 :(得分:0)
这有点奇怪。这是我的方法:
http://sqlfiddle.com/#!9/1a3720/2
SELECT person,
SUM(IF(`first` = firstGame,1,0)) firstCount,
SUM(IF(`second` = secondGame,1,0)) secondCount,
SUM(IF(`third` = thirdGame,1,0)) thirdCount
FROM Person
LEFT JOIN AverageGame
ON 1
GROUP BY person
但我的问题是,当AverageGame
表有超过1条记录时,您期望会发生什么?