2014-02-25 37 views
0

https://docs.google.com/spreadsheet/ccc?key=0Agh6MIWO2pTcdE0yanV0ZkQwWlR6WGxPQUc1T1YtQmc&usp=sharing從另一列的數據獲取列的數據?

MASTER_ID       END_DATETIME media_file 
1390962109139_635_787802027. 1/29/2014 5:21:41 d:\songs_new\target uganda\welcome56060_l.wav 
1390962109139_635_787802027. 1/29/2014 5:21:48 d:\songs_new\target uganda\pending_e.wav 
1390962124349_637_788260286. 1/29/2014 5:21:23 d:\songs_new\target uganda\welcome56060_l.wav 
1390962199363_744_789334537. 1/29/2014 5:23:03 d:\songs_new\target uganda\welcome56060_l.wav 
1390962199363_744_789334537. 1/29/2014 5:23:06 d:\songs_new\target uganda\lang56060mix_l.wav 
1390962199363_744_789334537. 1/29/2014 5:23:16 d:\songs_new\target uganda\sub2121_l.wav 
1390962199363_744_789334537. 1/29/2014 5:23:03 d:\songs_new\target uganda\welcome56060_l.wav 
1390962199363_744_789334537. 1/29/2014 5:23:06 d:\songs_new\target uganda\lang56060mix_l.wav 
1390962199363_744_789334537. 1/29/2014 5:23:16 d:\songs_new\target uganda\sub2121_l.wav 
1390962205310_742_787802027. 1/29/2014 5:23:13 d:\songs_new\target uganda\welcome56060_l.wav 

請看看一個示例表。 我需要得到相應的Master_ID

對於例如上次播放media file ..

碩士ID 1390962109139_635_787802027所需的數據是d:\songs_new\target uganda\pending_e.wav

等等......

我使用MySQL服務器5.5 SQL Yog

回答

0

因爲是mysql,你可以使用它的時髦分組:

select * from (
    select master_id, media_file 
    from mytable 
    order by end_datetime desc 
) x 
group by 1 

分組由剛剛master_id意味着MySQL將返回第一行每個master_id。首先排序數據意味着返回的行將是最新的行。

0

使用連接

SELECT * 
FROM sample_table AS s1 
LEFT JOIN (
      SELECT MAX(END_DATETIME) 
      FROM sample_table 
      GROUP BY MASTER_ID 
      ) AS max_master_id 
ON (s1.END_DATETIME = max_master_id.END_DATETIME); 
0

試試下面的查詢:

SELECT * FROM (
       SELECT MASTER_ID, 
         media_file 
       FROM my_table 
       ORDER BY end_datetime DESC 
       ) a 
GROUP BY MASTER_ID; 
相關問題