相关疑难解决方法(0)

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

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

SELECT DISTINCT `column` FROM `table`;
Run Code Online (Sandbox Code Playgroud)

我知道我可以"手动"运行该查询,但如果可以,我宁愿坚持使用SQLAlchemy声明性语法(和/或Elixir).我确信它一定是可能的,我甚至在SQLAlchemy文档中看到过这种类似的暗示,但我一直在寻找这些文档几个小时(以及Elixir的文档),我就是不能似乎真的弄清楚它将如何完成.那我错过了什么?

python sql sqlalchemy python-elixir

44
推荐指数
4
解决办法
6万
查看次数

使用SQLite在SQLAlchemy中返回不同的行

SQLAlchemy的Query.distinct方法行为不一致:

>>> [tag.name for tag in session.query(Tag).all()]
[u'Male', u'Male', u'Ninja', u'Pirate']
>>> session.query(Tag).distinct(Tag.name).count()
4
>>> session.query(Tag.name).distinct().count()
3
Run Code Online (Sandbox Code Playgroud)

所以第二种形式给出了正确的结果,但第一种形式却没有.这似乎发生在SQLite中,但不适用于Postgres.我有一个函数,它传递一个查询对象来distinct应用一个子句,所以重写所有内容非常困难,最好使用上面的第二种方法.有什么明显的东西让我失踪吗?

python sqlite sqlalchemy

39
推荐指数
2
解决办法
5万
查看次数

标签 统计

python ×2

sqlalchemy ×2

python-elixir ×1

sql ×1

sqlite ×1