074:【Django数据库】ORM聚合函数详解-Max和Min

摘要:
Minresult=作者。物体。aggregate(Max('age'),Min('age'))如果最大年龄为88岁,则{“age_Max”:“age_Min”:results=Book.objects.annotate(Max=Max(“bookorder__price”),Min=Min(“bookorder__price))foriteminresults:

ORM聚合函数详解-Max和Min:

Max 和 Min :获取指定对象的最大值和最小值。

比如想要获取 Author 表中,最大的年龄和最小的年龄分别是多少。那么可以通过以下代码来实现:

from django.db.models import Max,Min
result = Author.objects.aggregate(Max('age'),Min('age'))

如果最大的年龄是88,最小的年龄是18。那么以上的result将为:

{"age__max":88,"age__min":18}
比如查询卖出去的每类书的最高、最低价格:
    results = Book.objects.annotate(max=Max("bookorder__price"), min=Min("bookorder__price"))
    for item in results:
        print(item.name,":", item.max, item.min)
    print(results.query)

具体的原生SQL如下:

SELECT `book`.`id`, `book`.`name`, `book`.`pages`, `book`.`price`, `book`.`rating`, `book`.`author_id`, `book`.`publisher_id`, MAX(`book_order`.`price`) AS `max`, MIN(`book_order`.`price`) AS `min` FROM `book` LEFT OUTER JOIN `book_order` ON (`book`.`id` = `book_order`.`book_id`) GROUP BY `book`.`id` ORDER BY NULL

具体实例截图如下:

074:【Django数据库】ORM聚合函数详解-Max和Min第1张




免责声明:文章转载自《074:【Django数据库】ORM聚合函数详解-Max和Min》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇shell网络管理C#实现向excel中插入行列,以及设置单元格合并居中效果下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

通过Python收集汇聚MySQL 表信息

一.需求 统计收集各个实例上table的信息,主要是表的记录数及大小。 收集的范围是cmdb中所有的数据库实例。 二.公共基础文件说明 1.配置文件 配置文为db_servers_conf.ini,假设cmdb的DBServer为119.119.119.119,单独存放收集监控数据的DBserver为110.110.110.110. 这两个DB实例的访问...

OCR数据合成工具Text Recognition Data Generator的help文档翻译

   -h, --help            show this help message and exit      --output_dir [OUTPUT_DIR]  The output directory      -i [INPUT_FILE], --input_file [INPUT_FILE]  When set, this argum...

CDH6.2安装

一、准备工作:1、普通用户root权限准备(sudo,此处用aiot用户,sudoer)groupadd -r testuseradd -d /home/test/ -m -s /bin/bash -c "user" -g test -p 2019 -r test#另外特别注意:aiot及密码用户在cloudera manager server中会配置进去...

linux中的strip命令简介------给文件脱衣服

转载于:http://blog.csdn.net/stpeace/article/details/47090255 作为一名linux开发人员, 如果没有听说过strip命令, 那是很不应该的。 strip这个单词, 大家应该早就学过了, 你就记住是脱衣服就行了, 别的不要多想。 在linux中, strip也有脱衣服的含义, 具体就是从特定文件中剥掉一些...

django之表多对多查询

1 class Boy(models.Model): 2 name = models.CharField(max_length=32) 3 4 class Girl(models.Model): 5 nick = models.CharField(max_length=32) 6 7 class Love(...

kubernetes 集群的安装部署

本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 首先kubernetes得官方文档我自己看着很乱,信息很少,所以结合了很多博客搭建的 其次因为既然用到docker,当然离不开kubernetes管理,还有swarm,前者管理复杂,但功能齐全 这里仅仅是安装部署,还...