下午好,请告诉我如何在 SQLALCHEMY 中获取记录数组,以便某个字段不重复。假设我有用户: User([email protected] , name='Mike'), User(email='[email protected] ', name='Bob'), User(email='[email] protected] ', name='John'),我需要获取电子邮件不重复的用户数组,例如 [用户 mike,用户 bob]。预先感谢您的回答,对英语感到抱歉,这不是我的母语,而且我说得不好
可能最直接的方法是
MIN()
和 GROUP BY
检索“唯一”属性的不同值的 PK 值,然后IN
子句中使用该子查询with Session(engine) as sess:
id_list = select(func.min(User.id)).group_by(User.email)
results = sess.scalars(select(User).where(User.id.in_(id_list))).all()
pprint(results)
"""
[User(id=1, name='Mike', email='[email protected]'),
User(id=2, name='Bob', email='[email protected]')]
"""