在我使用SQLAlchemy和Elixir编写的一个小脚本中,我需要获得特定列的所有不同值.在普通SQL中,这将是一个简单的问题

SELECT DISTINCT `column` FROM `table`;

我知道我可以"手动"运行该查询,但如果可以的话,我宁愿坚持使用SQLAlchemy声明性语法(和/或Elixir).我相信这一定是可能的,我甚至在SQLAlchemy文档中看到过对这类事情的暗示,但我已经在那个文档中搜寻了好几个小时(以及Elixir的文档),我似乎真的不知道该怎么做.那么我错过了什么?

推荐答案

可以查询映射类的列属性,查询类有一个生成distinct()方法:

for value in Session.query(Table.column).distinct():
     pass

Sql相关问答推荐

Postgresql在加入时显示重复的行

如何将多个 Select 查询从一个表中组合出来

PG SQL中按条件聚合值

具有2个共享列的两个表的Amazon RSQL合并

删除MariaDB数据库中的JSON数据

Select 起始参数和截止参数之间的间隔,包括与期间重叠的参数

如何根据特定的内部json元素值过滤postgres查询结果?

更新PostgreSQL 15中的JSON值

如何根据计数和分组获取订单总数

根据日期 Select ID 的上一条记录

Postgresql - WHERE 中的 MAX 标准 - 初学者问题

给定 3 个键列,从一个表中 Select 另一表中不存在的所有数据

使用多个数据库调用重载 CQRS 模式

SQL 语句将一列中的值与另一列中的不同值相加,同时按第三列进行分组?

如何对 jsonb 中的字段执行求和,然后使用结果过滤查询的输出

自动生成计算频率的列

try 将多行折叠为单个结果

为什么 get_json_object() 无法从存储在 Hive SQL 表中的 JSON 中提取值?

使用 GROUP BY 时如何创建其他组?

如何在 RavenDB Studio (RQL) 中插入更新文档