我在 sqlite 数据库中有这个简单的表:
unit groupid value
enhed1 24270 2
enhed2 24272 2
enhed3 24120 1
enhed4 24191 4
enhed4 24192 2
对于每个单元,我想提取groupid(组内)最低的值。
unit value
enhed1 2
enhed2 2
enhed3 1
enhed4 4
我尝试过的:
select(
[
table.c.unit,
table.c.value
]
)
.where(
table.c.groupid == select(func.min(table.c.groupid )).group_by(table.c.unit).scalar_subquery()
)
.group_by(table.c.unit)
但是它不起作用,只是为所有单位输出相同的值。
您不需要任何过滤,只需 group_by 和 order:
select(
[
table.c.unit,
table.c.value
]
) \
.group_by(table.c.unit) \
.order_by(table.c.unit)