2014-06-13 3 views
0

복잡한 쿼리를 작성하지 못했습니다. 내 쿼리에서 내 결과 예제를 볼 수 있습니다. 내 쿼리에서 가장 높은 날짜 (2014-02-19 16:25:11)의 항목 만 반환하도록하고 싶습니다. 여기서 program_id, 이름 및 유형은 동일하며 값이 다른 부분이 있습니다. 당신의 시간 및 당신의 도움에 대한MYSQL 중복 항목에서 최대 값 가져 오기

SELECT 
    LPAD(convert(master_program.program_id USING utf8), 
      5, 
      '00000') AS program_id, 
    rate.name, 
    rate.type, 
    rate.value 
FROM 
    master, 
    master_program, 
    programs, 
    rate_group, 
    rate 
WHERE 
    master.id = master_program.master_id 
     AND master_program.program_id = programs.id 
     AND rate_group.master_id = master.id 
     AND rate_group.id = rate.rate_group_id 
     AND master.is_deleted = 0 
     AND rate_group.is_deleted = 0 
     AND master.is_payout = 0 
ORDER BY program_id, name 

---- 결과의 예 ----

program_id | name | type | value | last_modified_date 
­­­­­­­­­­­­------------------------------------------------------------- 
-> 00470 | Default | PPL | 4.6900 | "2014-02-17 16:13:16" (same but different value) 
-> 00470 | Default | PPL | 0.0000 | "2014-02-19 16:25:11" (same but different value) 
00470  | G1  | PPL | 5.0000 | "2014-02-19 16:25:11" 
00470  | G2  | PPL | 3.5000 | "2014-02-19 16:25:11" 
00015  | Default | PPL | 0.0000 | "2014-02-19 16:25:11" 
00015  | Default | PPL | 0.0000 | "2014-02-19 16:25:11" 

감사합니다!

+0

가능한 중복 : //stackoverflow.com/questions/4407030/get-the-row-with-the-highhest-value-in-mysql) – mc110

+0

이와 비슷한 질문이 오늘 혼자 여기에있었습니다. 조금 지루해집니다. 물론 다른 사람들이 잘못된 답을 제공하는 데 도움이되지는 않습니다. – Strawberry

답변

0

당신은 last_modified_date 필드에 대한 당신의 선택 문을 누락하지만 어떤 경우에, 당신의 선택 문을 변경하고 있습니다 :

SELECT 
    LPAD(convert(master_program.program_id USING utf8), 
      5, 
      '00000') AS program_id, 
    rate.name, 
    rate.type, 
    rate.value, 
    MAX(table.last_modified_date) 
WHERE.... 
(HTTP [MySQL의에서 가장 높은 값을 가진 행을 얻을]의
+0

OP가 가장 높은 가치를 원했던 것 같습니다. 이 날짜가 최신 날짜와 일치한다는 제안은 없습니다. – Strawberry