2010-11-15 56 views
0

我在寫這個查詢時遇到問題。我有一個網站,我想知道用戶的第一個答案的數量 - 對於用戶回答的所有問題,哪個答案是第一個答案。查詢以查找用戶在使用MySQL的問答網站中的第一個答案的數量

我有兩個表 -

  • 問題 - ID,質疑
  • 答案 - ID,question_id,answering_userid,日期

我已經分成兩個步驟

  1. 找出用戶的答案
    • SELECT ID FROM答案WHERE answering_userid = 「ABC」
  2. 發現,如果他們是第一次
    • ?????這是我遇到問題的地方。我認爲它會採用MIN(日期)。

有人能幫我實施嗎?

問候

回答

1

在另一個用戶的幫助下codefly我得到了我正在尋找的答案。

select a.id, a.answering_userid 
from answers a 
inner join (
    select answering_userid, question_id, min(date) as mindate 
    from answers 
    group by question_id 
) first on a.question_id = first.question_id 
    and a.date = first.mindate 
    and a.answering_userid = first.answering_userid 
where a.answering_userid = "ABC" 
1

你可能想是這樣的:

 

select a.id, a.answering_userid 
from answers a 
inner join (
    select answering_userid, question_id, min(date) as mindate 
    from answers 
    group by answering_userid, question_id 
) first on a.question_id = first.question_id 
    and a.date = first.mindate 
    and a.answering_userid = first.answering_userid 
 

注意,這將返回受騙者如果你有確切的同一時刻2分的答案。 此外,這是完全未經測試。

+0

謝謝。我有一點點修補你的答案的答案。我想先回答用戶回答的問題。我正在添加我的答案。 – vikmalhotra 2010-11-15 03:50:54

相關問題