我有一个名为评级,这种结构的MySQL表:MySQL查询帮助
ID名,用户名,等级,RATER,MONTH
我希望能够向用户展示的排名表由他们的平均订购当月评级。
例如:
1,鲍勃,10,丽塔,JUL
2,鲍勃,8,苏,JUL
3,丽塔,9,鲍勃,JUL
4,苏,4,丽塔,JUL
5,丽塔,10,苏07月
我想要一个SQL查询其禾ULD产生这些结果:
丽塔:9.5
鲍勃:9
苏:4个
任何想法吗?
非常感谢
奥利弗。
我有一个名为评级,这种结构的MySQL表:MySQL查询帮助
ID名,用户名,等级,RATER,MONTH
我希望能够向用户展示的排名表由他们的平均订购当月评级。
例如:
1,鲍勃,10,丽塔,JUL
2,鲍勃,8,苏,JUL
3,丽塔,9,鲍勃,JUL
4,苏,4,丽塔,JUL
5,丽塔,10,苏07月
我想要一个SQL查询其禾ULD产生这些结果:
丽塔:9.5
鲍勃:9
苏:4个
任何想法吗?
非常感谢
奥利弗。
假设一个月列是一个日期时间:
where LEFT(MONTHNAME(curdate()),3) = rating.month
select username, avg(rating), month from RATING group by username,month
看到你有':
select username, avg(rating)
from rating
where YEAR(curdate()) = YEAR(rating.month)
and MONTH(curdate()) = MONTH(rating.month)
group by username
如果它是这个月的前3个字符,以替换WHERE语句JUL'作为你的月份,我假设它是一个varchar。如果你只是想为JUL结果:
select username, avg(rating) from RATING where month = 'JUL' group by username
SELECT `username`, AVG(`rating`) AS average FROM RATING GROUP BY `username`
这是平均得分为所有的时间,而不是当前的月份? – Andomar 2009-06-19 10:30:09