【发布时间】:2014-11-13 00:02:47
【问题描述】:
我想选择数据库中的每一对两列,但只选择价格最低的条目。因此,我想输出id 和price 列。
但它不起作用:
我的桌子:
id | category | type | name | price
1;"car";"pkw";"honda";1000.00
2;"car";"pkw";"bmw";2000.00
SQL:
select min(price) price, id
from cartable
group by category, type
结果:
Column "cartable.id" must be present in GROUP-BY clause or used in an aggregate function.
【问题讨论】:
-
将 cartable.id 添加到组的末尾。这是 sql 不喜欢的那些奇怪的事情之一
-
好吧,但我不想按 ID 分组!
-
@jbutler483 我不会说这很奇怪,但很明智。事实上,我认为 MySQL 不需要这个是脑残。
-
如果您不打算按 ID 分组,那为什么它会在选择列表中?
-
你使用什么数据库?
标签: sql database postgresql greatest-n-per-group