Mysql:使用max(date)获取最新的行

Mysql:使用max(date)获取最新的行,mysql,Mysql,我有两张桌子,mytableA和mytableB MytableA看起来像这样 ColumnA|Columnb Apple|fruitstand Pear|fruitstand mytableB如下所示: ColumnA|ColumnB|ColumnC Apple|2|4/1/2012 Apple|3|4/3/2012 Apple|23|12/1/2011 Pear|1|12/22/2011 Pear|0|4/22/2012 我想要的结果是 Apple|3|4/3/2012 Pear|0|4/

我有两张桌子,mytableA和mytableB

MytableA看起来像这样

ColumnA|Columnb
Apple|fruitstand
Pear|fruitstand
mytableB如下所示:

ColumnA|ColumnB|ColumnC Apple|2|4/1/2012 Apple|3|4/3/2012 Apple|23|12/1/2011 Pear|1|12/22/2011 Pear|0|4/22/2012 我想要的结果是

Apple|3|4/3/2012 Pear|0|4/22/2012 苹果| 3 | 4/3/2012 Pear | 0 | 4/22/2012 我知道这在SQL中有效,但mysql也有类似的方法吗?

我试过了。它可以在mysql上运行(不包括大量的拼写错误),但结果对我来说没有任何意义

ColumnA | ColumnB       | ColumnA | ColumnB | ColumnC
Apple     fruitstand      Pear      0         4/22/2012
Pear      fruitstand      Pear      0         4/22/2012
编辑:您应该使用某种索引来标识条目

像 mytablea

mytableb

ID | fruitID | stock | date
然后

我应该做这个把戏。。。这是一个蹩脚的大型子查询:-

结果:

name | stock | date
Apple  4       4/3/2012
Pear   0       4/22/2012

当您重命名某些表/列时,是否在查询中输入错误?看起来不像是
myTableB.ColumnB
myTableA.ColumnA
(来自您的加入)Mike,我认为您的查询仍然没有正确编辑。您当前正在使用
myTableB
加入
myTableB
。我想你是想加入
myTableA
myTableB
columnA
上。我刚刚尝试了我对您的查询的解释,它返回了两行,每行都有每个水果的最大日期。你得到了什么结果?我想从mytableB中选择数据,其中mytablea和mytableB之间有1对1的关系,其中mytableB中的数据只有最大的日期问题是它只选择columnc最大的行,这意味着即使mytablea中有2行(苹果,梨)它只返回pear,因为pear有更大的日期(我做了一些大的更新;)我第一次没有得到它;)这很奇怪,我总是使用mysql,所以使用mysql很痛苦;)但我不知道如果有一个更短的解决方案。。。编辑:sry在我的结果中输入了一个错误。应该是库存3
ID | fruitID | stock | date
SELECT mytablea.name, mytableb.stock, mytableb.date FROM mytablea, mytableb, 
       (SELECT MAX(mytableb.date) as maxDate FROM mytableb, mytablea 
       WHERE mytableb.fruitID = mytablea.ID GROUP BY mytablea.ID) AS maxTB 
       WHERE mytableb.date = maxTB.maxDate AND mytablea.ID = mytableb.fruitID
name | stock | date
Apple  4       4/3/2012
Pear   0       4/22/2012