2012-03-16 77 views
0
上平坦表最新日期

我有(用途不同)的平坦数据库表“boxList”与(简化的)列中,如下鲜明的选择通过在MySQL

BLID, identity, editDate, notes

BLID是自动/独特

数据更新将保存为新条目。 我想基于截然不同的列表返回每个列身份最新日期。所有的努力要么返回“空”或“一切”或一个明确的列表,但自然选择,而不是MAX(editDate)。 (我没有我想要提交的示例)

如果我只标准化了标识列,我认为缺少索引是问题,我会更好吗?

数据例如:

1,B6,2012-01-22,notes 
2,C4,2012-01-24,some notes 
3,B6,2012-02-01,notes updated 

会希望回到:

2,C4,2012-01-24,some notes 
3,B6,2012-02-01,notes updated 

亲切的问候,并感谢在期待

aDub

回答

0

如果BLID被自动增量的最新值了idenity是一个与最高BLID

SELECT * FROM [TABLE] AS t1 
WHERE BLID = (SELECT MAX(BLID) from [TABLE] AS t2 where t.identity= t2.identity) 

使用此声明,您将获得最新日期。

+0

Doh!我现在感觉到多么愚蠢 - 谈论树木的木材。谢谢Marek D. :) – Adub 2012-03-16 18:46:40

+0

您的回答没有奏效Marek D,当我真的去我的机器,但你挑衅地把我带到正确的道路 – Adub 2012-03-16 20:02:14

+0

显然我不能回答我自己的问题,只是... 结束了这一点。 (从boxList GROUP BY标识中选择MAX(BLID)作为BLID)boxList。* FROM boxList.BLID = T2.BLID; 这似乎工作,我认为有一个更好的方式来做到这一点。 – Adub 2012-03-16 20:10:30