一尘不染

在SQLAlchemy / Elixir中选择不同的列值

sql

在我使用SQLAlchemy和Elixir编写的一个小脚本中,我需要获取特定列的所有不同值。在普通的SQL中,这很简单

SELECT DISTINCT `column` FROM `table`;

而且我知道我可以“手动”运行该查询,但是如果可以的话,我宁愿使用SQLAlchemy声明性语法(和/或Elixir)。我敢肯定这是有可能的,我什至在SQLAlchemy文档中也看到过这种暗示,但是我已经花了数小时(以及Elixir)来浏览该文档,但我做不到似乎实际上想出了怎么做。那我想念什么呢?


阅读 105

收藏
2021-03-17

共1个答案

一尘不染

您可以查询映射类的列属性,并且Query类具有生成distinct()方法:

for value in Session.query(Table.column).distinct():
     pass
2021-03-17