SQL查询问题

时间:2013-10-27 12:25:54

标签: mysql sql

我有一个名为userRatings的表,其中包含一个名为userNumber(int),userRating(int)和userRatingDateTime(datetime)的字段。

我有一个名为userProfiles的第二个表,其中包含一个名为userNumber(int)的字段,userGender(int)。

我想做的是:

我想查询所有userNumbers及其userRating的总和,其中userGender = 1(代表女性),但仅限于上周。 (换句话说,超过一周前的评级不应该总计。)

我已经尝试了很多不同的方法解决这个问题,但我似乎从来没有做对。目前我的语法涉及将一个SELECT嵌套在另一个中,但它并没有产生我想要的东西 - 甚至没有关闭 - 所以我不打扰分享它。

具有更多SQL经验的人可以帮助我解决这个问题吗?感谢。

1 个答案:

答案 0 :(得分:1)

试试这个::

Select
ur.userNumber,
SUM(userRating) as totalRating,
userGender
from userRatings ur
inner join userProfiles up on (ur.userNumber  = up.userNumber )
where up.userGender=1
AND userRatingDateTime<DATEDIFF(now() INTERVAL 7 DAYS)

 GROUP BY  ur.userNumber