【发布时间】:2020-09-10 23:18:00
【问题描述】:
我的问题是我只需要对每种饮料 (a.DRINK) 做一次/唯一的以下声明,但我似乎无法做到。
create table LOWEST as
select a.DRINK, min(b.PRICE), c.STREET, c.BLDG_NO
from ALLDRINKS a
left join SERVES b on a.DRINK = b.DRINK
left join LOCATED c on b.PUB = c.PUB
group by a.DRINK, c.STREET, c.BLDG_NO
我得到的当前结果
------------------------------------------------
| DRINK |min(b.PRICE)| STREET | BLDG_NO |
| VODKA | 7.10 | FAKE ST. | 123 |
| VODKA | 4.50 | OAK Ave. | 13 |
| VODKA | 8.30 | Rail RD. | 11 |
| RUM | 6.30 | Cherry RD. | 131 |
| RUM | 10.30 | TEST Pl. | 21 |
------------------------------------------------
我期待的地方:
------------------------------------------------
| DRINK |min(b.PRICE)| STREET | BLDG_NO |
| VODKA | 4.50 | OAK Ave. | 13 |
| RUM | 6.30 | Cherry RD. | 131 |
------------------------------------------------
如果您还可以解释需要做的事情背后的逻辑,那将在未来非常有帮助!先感谢您! -使用MYSQL Workbench 8.0
【问题讨论】:
-
您能否在您的表格中添加一些行以及您当前获得的输出?找到答案会很有帮助:) 另请参阅:meta.stackoverflow.com/questions/333952/…
-
现在修复我的错误
-
你的MySql是什么版本的?
-
如果您只想要饮料的最低价格(价格)然后从选择和分组依据。
-
抱歉,我遇到了令人困惑的问题,并添加/更正了详细信息@Balastrong
标签: mysql sql join unique greatest-n-per-group