在SQLAlchemy中查找数组列中最常见的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SQLAlchemy中查找数组列中最常见的值相关的知识,希望对你有一定的参考价值。

我希望在列中返回最常出现的事件。我知道如何在SQL中执行此操作,但不知道SQL Alchemy。例如,我有这个数据库和帖子。每个帖子都有一个文本字段和一个类别字段。我希望按顺序返回前3个类别,如下所示:

Post 1: "Text", "Food"
Post 2: "Text", "Games"
Post 2: "Text", "Games"
Post 2: "Text", "News"
Post 2: "Text", "News"
Post 2: "Text", "News"
Post 2: "Text", "Other"
Post 2: "Text", "Food"

会回来:

{"News", "Games", "Food"}
答案

假设您要分组的列称为“类别”:

from sqlalchemy import func, desc
session.query(
    func.count(tablename.id).label('qty')
    ).group_by(tablename.category
    ).order_by(desc('qty'))
另一答案

为了返回对象和计数器,@ dylrei答案只丢失了一位

from sqlalchemy import func, desc
session.query(tablename.category,              <--- You need to add this
    func.count(tablename.id).label('qty')
    ).group_by(tablename.category
    ).order_by(desc('qty'))

以上是关于在SQLAlchemy中查找数组列中最常见的值的主要内容,如果未能解决你的问题,请参考以下文章

蟒蛇,熊猫;按列中最常见的值对 Dataframe 行进行排序

在 SQL 列中查找最常见的值

查找字符串数组中最常见的元素 GO

C++:查找数组中最接近的值

如何获得Int数组中最常见的值? (C#)

按列分组以查找另一列中出现频率最高的值? [复制]