簡體   English   中英

SQL請求最大分組

[英]sql request Max Group by

大家好,您能幫我嗎。 請在下面的圖片中輸入和輸出數據,所以我需要對sql request進行編碼,以僅顯示每個capetent_question_id中的最大日期,並且還顯示該日期中的compence_answer_id的值(我也可以通過response_id進行分組,但我將其隱藏在此處)

先感謝您

SELECT response_id, competence_question_id, competence_answer_id, MAX(date_created)
FROM competence_vote_history
WHERE response_id = 53178
GROUP BY response_id, competence_question_id, competence_answer_id
ORDER BY response_id, competence_question_id

具有輸入數據的表一

表二帶有輸出數據

請嘗試以下查詢以獲得所需的結果。

SELECT competence_question_id, competence_answer_id, date_created, answer_value
FROM competence_vote_history i
WHERE response_id = 53178 
    AND date_created = (
        SELECT MAX(date_created) 
        FROM competence_vote_history 
        WHERE response_id = i.response_id 
        AND competence_question_id = i.competence_question_id)
ORDER BY response_id, competence_question_id

如果date_created列中沒有重復的日期,則可以使用派生表(在該表中,對於compencence_question_id獲得了max(date_created)),該表又返回了原始表:

SELECT V.*
  FROM (
         SELECT competence_question_id, MAX(date_created) AS MAXdate_created
           FROM competence_vote_history
          WHERE response_id = 53178
         GROUP BY competence_question_id
       ) AS dT INNER JOIN competence_vote_history V on dT.competence_question_id = V.competence_question_id
                                                   AND dT.MAXdate_created = V.date_created
ORDER BY response_id, competence_question_id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM