请教下flask-sqlalchemy中的group_by分组排序,前端如何取值

flask-sqlalchemy

#1

问题1:同表中查询同name出现的次数分组,并统计次数从大到小输出
问题2:同表中查询同name分组,并按照从大到小输出分组中所有数据

表单:

   class Category(db.Model): #标签词
        id = db.Column(db.Integer, primary_key=True)  #文章类别id
        name = db.Column(db.String(30))    #文章类别名字
        article_id = db.Column(db.Integer, db.ForeignKey('article.id'))
        status = db.Column(db.Integer)  #1启用,2禁用
       article = db.relationship('Article', back_populates='category')

插入数据:

INSERT INTO `category` VALUES ('老板', '1', '1');
INSERT INTO `category` VALUES ('高层', '1', '1');
INSERT INTO `category` VALUES ('职员', '1', '1');
INSERT INTO `category` VALUES ('高层', '2', '1');
INSERT INTO `category` VALUES ('职员', '2', '1');
INSERT INTO `category` VALUES ('职员', '3', '1');
INSERT INTO `category` VALUES ('员工', '4', '1');

之前有用过一个方法,能输出name,但是输出不了次数,方法如下:

categorys=Category.query(Category.name,func.count(Category.name)).group_by(Category.name).all()

特需要请教下flask-sqlalchemy中的group_by分组排序,前端如何取值,问题点已在文章首列出


#2

建议用原始的query试试,Model下的query估计不太好这样查询。

db.session.query(Category.name, func.count(Category.name)).group_by(Category.name).all()

#3

下次发帖请正确设置分类和标签。