【发布时间】:2015-11-04 20:49:24
【问题描述】:
我有下表:
id | user_id | name | value
----------------------------
1 | 1 | so | 1
2 | 1 | os | 2
3 | 2 | so | 3
4 | 2 | os | 4
5 | 2 | os | 7
如何选择具有 name == "os" 和 max(value 的不同 users 行) 在 list 中使用 sqlalchemy 的值在哪里?
补充, 可能没用 ,信息:我正在使用带有金字塔的 sqlalchemy
这与我尝试过的类似:
ResVar = DBSession.query(tableModel.id, tableModel.user_id, tableModel.name, tableModel.value, func.max(tableModel.value)).filter(tableModel.value.in_(list(checkList))).filter(tableModel.name == "so").group_by(tableModel.user_id).all()
这和我的模型很相似:
class tableModel(Base):
__tablename__ = 'table'
id = Column(Integer,primary_key=True)
name = Column(String(100))
value = Column(String(200))
user_id = Column(Integer,ForeignKey('user.id'))
user = relationship("user",foreign_keys=[user_id])
def __init__(self, user_id,name,value):
self.user_id = user_id
self.name = name
self.value = value
预期结果:
1 | 1 | so | 1
3 | 2 | so | 3
【问题讨论】:
-
您能否附上您的模型类的源代码并编写您迄今为止尝试过的代码?
-
@MikkoOhtamaa 我已经添加了模型和查询。还需要什么吗?
-
能否根据示例表数据添加示例结果行。
标签: python sqlite sqlalchemy pyramid