2013-10-27 57 views
1

我有一個名爲userRatings了一個名爲userNumber(INT)字段,userRating(INT)表,userRatingDateTime(日期時間)。SQL查詢的問題

我有一個名爲userProfiles的第二個表,其字段名爲userNumber(int),userGender(int)。

我想要做的是這樣的:

我想查詢所有userNumbers他們userRating的總和,其中userGender = 1(代表女)一起,但僅在上週。 (換句話說,從一週以前的評分不應該總計)。

我已經嘗試了許多不同的方法來解決這個問題,但我似乎從來沒有把它做好。目前我的語法涉及到在另一個SELECT中嵌套一個SELECT,但它不會產生我想要的 - 甚至沒有關閉 - 所以我不打擾分享它。

多一些SQL經驗的人可以幫我解決這個問題嗎?謝謝。

+1

您使用哪種DBMS試試這個::?你用SQL Server(來自Microsoft的DBMS)**一個MySQL來標記你的問題。 –

+0

我的不好。我正在使用MySQL。 – user2925000

回答

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 
+0

謝謝。這正是我所需要的。 – user2925000

+0

@ user2925000:非常歡迎 –