sql – Django ORM – 获取组的最新记录
想象一下,我们有Django ORM模型Meetup,其定义如下: class Meetup(models.Model): language = models.CharField() date = models.DateField(auto_now=True) 我想为每种语言取一个最新的聚会. 看起来你可以使用Django Aggregates来简化这种查找: Meetup.objects.annotate(latest_date=Max("date")).values("language","latest_date") 在我看来,这应该取得每种语言的“最新”聚会.但事实并非如此: >>> Meetup.objects.create(language='python') <Meetup: Meetup object> >>> Meetup.objects.create(language='python') <Meetup: Meetup object> >>> Meetup.objects.create(language='node') <Meetup: Meetup object> >>> Meetup.objects.create(language='node') <Meetup: Meetup object> >>> Meetup.objects.annotate(latest_date=Max("date")).values("language","latest_date").count() 4 我期望得到两个最新的Python和Node聚会! 如何构建一个只能获取每种语言的最新聚会的查询? PS.我使用MySQL作为我的后端. 解决方法将您的values子句放在注释之前.从aggregation docs:
所以这应该这样做: Meetup.objects.values('language').annotate(latest_date=Max('date')) (编辑:应用网_常德站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- dns-prefetch是什么 前端优化:DNS预解析提升页面速度
- 带逗号的SQL Server格式小数位
- sql-server – 总是有一个整数列作为主键的缺点是什么?
- sql-server-2000 – 如何从PHP 5.3及更高版本连接到MSSQL 2
- sql-server-2008 – 查找导致等待的查询
- sql-server – 在SQL Server中创建可以保存存储过程结果的临
- 在SQL Server中无需时间比较日期的最佳方法
- sql-server – 当.sql脚本失败时,如何使sqlcmd返回0以外的E
- sql-server – SQL Server代理作业和可用性组
- 两个SQL COUNT()查询?