当前位置: 首页 > 面试题库 >

Django ORM,按天分组

淳于嘉树
2023-03-14
问题内容

我正在尝试按DAY对产品进行分组,但是date_created是datetime字段。

Product.objects.values('date_created') \
               .annotate(available=Count('available_quantity'))

返回:

[
    {'date_created': datetime.datetime(2012, 4, 14, 13, 3, 6), 'available': 1},
    {'date_created': datetime.datetime(2012, 4, 14, 17, 12, 9), 'available': 1},
    ...
]

我想要:

[
    {'date_created': datetime.datetime(2012, 4, 14), 'available': 2}, ...
]

编辑: 数据库后端MYSQL


问题答案:

受此问题启发,请尝试针对MySQL

from django.db.models import Count

Product.objects.extra(select={'day': 'date( date_created )'}).values('day') \
               .annotate(available=Count('date_created'))


 类似资料:
  • 问题内容: 我在SQL Server中有一个日志表,看起来像这样: 我想要的是一个结果列表,该列表表示每天处理了多少种不同的退款,并抛出了所有NULL。 我需要编写什么SQL才能产生这些结果? 问题答案: 我喜欢(MS SQL)中的这种方法:

  • 我正在使用基于Laravel和Twig的OctoberCMS。 我正在尝试使用对数据库中的图像列表进行排序。 我需要显示按日期分组的图像(desc),然后在该日期内按视图排序(desc)。 我在这里阅读是为了使用多个过程。 订货人 成功按Date排序,但忽略按视图排序。可能是因为<码>时间。 群比 返回null。

  • 将给出今天的日期 1月、4月、7月、10月=1 2月、5月、8月、11月=2 3月、6月、9月、12月=3 应该打印。例如:12月是季度的第三个月,所以答案是3。对此有更好的解决方案吗?

  • 问题内容: 给定这样的假设查询: 并有一个类似于下面的表格: 所需结果: 有什么方法可以使用GROUP BY和LIKE语句(LIKE“ silver”,LIKE“ gold”,LIKE“ platinum”等)对这些条目进行分组? 问题答案: 您可以使用: 某些数据库允许您在中使用列别名。

  • 问题内容: 我有以下几点: http://sqlfiddle.com/#!6/226ae/1 我现在尝试为一年中的每个星期添加一行,并相应地过滤联系人。CONTACTS有一个datetime列。新表将如下所示: 我认为需要使用DATEADD,但是在如何开始更改查询方面我迷茫了。 我确实知道MySQL具有GROUP BY WEEK命令,但我认为SQL没有等效的命令。做到这一点的最佳方法是什么? 问题

  • 问题内容: 我写了一个查询,每小时对记录进行计数: 结果是: 但是我需要这样的结果: 我也有按天和月分组的这些查询! 我也需要用0或null来填补他们的空白。任何帮助,我们真的很感激。 注意:在oracle中使用此问题有一个答案,但是我需要Mysql中的答案,因为Mysql不支持。 问题答案: 我创建了一个名为TBL_NUMBERS的表 并插入从1到1000的记录。现在,我可以使用此查询生成任何类