2014-06-13 73 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

可能重複: //www.stackoverflow.com/questions/4407030/get-the-row-with-the-highest-value-in-mysql) – mc110

+0

與此相同的十幾個問題今天就在這裏單獨提出。它有點乏味。當然,其他人不斷提供不正確的答案也無濟於事。 – Strawberry

回答

0

你缺少你的last_modified_date場SELECT語句,但在任何情況下,你的SELECT語句更改爲:

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.... 
的[獲得與MySQL中的最高值的行(HTTP
+0

我認爲OP想要最高的價值。沒有任何跡象表明這與最新的日期一致。 – Strawberry