我有一个名为userRatings
的表,其中包含一个名为userNumber
(int),userRating
(int)和userRatingDateTime
(datetime)的字段。
我有一个名为userProfiles
的第二个表,其中包含一个名为userNumber
(int)的字段,userGender(int)。
我想做的是:
我想查询所有userNumbers
及其userRating
的总和,其中userGender
= 1(代表女性),但仅限于上周。 (换句话说,超过一周前的评级不应该总计。)
我已经尝试了很多不同的方法解决这个问题,但我似乎从来没有做对。目前我的语法涉及将一个SELECT嵌套在另一个中,但它并没有产生我想要的东西 - 甚至没有关闭 - 所以我不打扰分享它。
具有更多SQL经验的人可以帮助我解决这个问题吗?感谢。
答案 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