【发布时间】:2018-06-29 04:54:11
【问题描述】:
我有两个表,我想在一个属性上将它们连接起来,但我不想在第二个表中获取所有匹配的行,我只想选择具有最高数字(最新日期等)的条目某列。我如何在 SQL 中表达这个结果?
这里有一个简化的例子来澄清我的问题。
Table `colors`
| color |
+-------+
| red |
| green |
| blue |
Table `inventory`
| color | value | shape |
+-------+-------+----------|
| red | 1 | square |
| red | 2 | circle |
| green | 7 | triangle |
Desired output:
| color | value | shape |
+-------+-------+----------|
| red | 2 | circle |
| green | 7 | triangle |
| blue | NULL | NULL |
我的表相当大,因此理想情况下,解决方案会相当有效。 (不需要微调,只是尽量避免可能变得巨大的双重连接。)
【问题讨论】:
标签: mysql join left-join greatest-n-per-group outer-join