Mysql SQL查询问题
我有一个名为Mysql SQL查询问题,mysql,sql,Mysql,Sql,我有一个名为userRatings的表,其中有一个名为userNumber(int)、userRating(int)和userRatingDateTime(datetime)的字段 我有第二个名为userProfiles的表,其中有一个名为userNumber(int)、userGender(int)的字段 我想做的是: 我想查询所有用户编号及其用户评级的总和,其中用户性别=1(表示女性),但仅限于上周。(换言之,一周前的评级不应合计。) 我尝试过许多不同的方法来解决这个问题,但我似乎从来没有做
userRatings
的表,其中有一个名为userNumber
(int)、userRating
(int)和userRatingDateTime
(datetime)的字段
我有第二个名为userProfiles
的表,其中有一个名为userNumber
(int)、userGender(int)的字段
我想做的是:
我想查询所有用户编号
及其用户评级
的总和,其中用户性别
=1(表示女性),但仅限于上周。(换言之,一周前的评级不应合计。)
我尝试过许多不同的方法来解决这个问题,但我似乎从来没有做对。目前,我的语法涉及将一个SELECT嵌套在另一个SELECT中,但它不能产生我想要的结果——甚至不能接近,所以我不会费心分享它
有SQL经验的人能帮我解决这个问题吗?谢谢。试试这个:
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
选择
你的用户名,
总和(用户评级)作为总评级,
用户性别
来自USERUR
上的内部联接用户配置文件(ur.userNumber=up.userNumber)
其中up.userGender=1
和userRatingDateTime试试这个:
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
选择
你的用户名,
总和(用户评级)作为总评级,
用户性别
来自USERUR
上的内部联接用户配置文件(ur.userNumber=up.userNumber)
其中up.userGender=1
和UserRatingDateTime您使用的是哪种DBMS?你用SQL Server(微软的数据库管理系统)和MySQL标记了你的问题。我的错。我用的是MySQL,你用的是哪种数据库管理系统?你用SQL Server(微软的数据库管理系统)和MySQL标记了你的问题。我的错。我正在使用MySQL。谢谢。这正是我需要的。谢谢。这正是我所需要的。