2012-04-20 32 views
0

無法瞭解如何使一個選擇: 表結構:MySQL的狡猾選擇

id name value date 
1 ivan 2 2010-01-01 
2 ivan 3 2010-05-08 
3 ivan 1 2009-04-14 
4 sasha 2 2011-11-11 
5 sasha 9 2012-04-04 

如何獲得?:

name value(in last time) 
ivan 3 
sasha 9 

回答

0

這個查詢應該工作

select f.name, f.value, f.date 
from (
    select id,name,max(date) as dat from tableName group by name 
) as x inner join tableName as f on f.name = x.name and f.date = x.dat; 
+0

哦!謝謝!是工作! – Oleg 2012-04-20 12:38:26

1

這是未經測試,但應該工作:

SELECT 
    name, 
    MAX(value) 
FROM 
    structure 
GROUP BY 
    name 
+0

'SELECT名,MAX(值)...' – 2012-04-20 11:37:45

+0

@ypercube哎呀,謝謝。 – Bojangles 2012-04-20 11:39:20

+0

它沒有工作。 – Oleg 2012-04-20 11:40:16

0
SELECT DISTINCT name, value FROM table ORDER BY date DESC 

那是我從你的cu迄今爲止的描述。

+0

對不起! 我的情況是兩張桌子。 我認爲它的工作是平等的。 – Oleg 2012-04-20 12:13:07

0

事情是這樣的:

SELECT 
    MAX(value), 
    name 
FROM 
    Table 
GROUP BY 
    name