计数时合并行 - Django/SQL
我有以下模型:
class Item(models.Model):
unique_code = models.CharField(max_length=100)
category_code = models.CharField(max_length=100)
label = models.CharField(max_length=100)
我想获取:
使用的不同category_codes的计数
使用的不同unique_codes计数
使用使用的不同category_code和unique_code组合计数
有什么想法吗?
I have the following model:
class Item(models.Model):
unique_code = models.CharField(max_length=100)
category_code = models.CharField(max_length=100)
label = models.CharField(max_length=100)
I would like to get:
the count of the different category_codes used
count of the different unique_codes used
count of the different combination of category_code and unique_code used
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
根据要求的 Django/SQL 解决方案:
使用的不同 category_codes 的计数:
使用的不同 unique_codes 的计数:使用的
不同category_code 和 unique_code 组合的计数强>使用:
Django/SQL solution as requested:
the count of the different category_codes used:
count of the different unique_codes used:
count of the different combination of category_code and unique_code used:
不要浪费太多时间尝试巧妙地设计一个很酷的 SQL 解决方案。
这样就可以了。而且它会相当快地发挥作用。事实上,如果您进行一些基准测试,您可能会发现 - 有时 - 它与“纯 SQL”语句一样快。
[为什么?因为 RDBMS 必须使用相当低效的算法来执行 GROUP BY 和计数。在Python中,我们可以根据我们的应用程序假设一些事情,并且
我们对数据的了解。例如,在这种情况下,我假设它都适合
记忆中。 RDBMS 内部算法无法做出的假设。]
Don't waste too much time trying finesse a cool SQL solution.
That will do it. And it will work reasonably quickly. Indeed, if you do some benchmarking, you may find that -- sometimes -- it's as fast as a "pure SQL" statement.
[Why? Because RDBMS must use a fairly inefficient algorithm for doing GROUP BY and Counts. In Python we have the luxury of assuming some things based on our application and
our knowledge of the data. In this case, for example, I assumed that it would all fit
in memory. An assumption that cannot be made by the RDBMS internal algorithms.]