如何选择 COUNT(*) GROUP BY DJANGO? [复制]
Posted
技术标签:
【中文标题】如何选择 COUNT(*) GROUP BY DJANGO? [复制]【英文标题】:How to do SELECT COUNT(*) GROUP BY DJANGO? [duplicate] 【发布时间】:2017-11-04 11:15:24 【问题描述】:我想在 Django 中执行这个 mysql 查询:
SELECT Descripcion,count(*)
FROM votaciones.Tarjeton
WHERE Voto_idVoto=1
GROUP BY Descripcion;
MySQL 的预期结果:
'', '1'
“卡米洛·戈麦斯·奥尔特加”,“3”
'胡安·何塞·马尔克斯','3'
'佩德罗·巴勃罗·德拉马尔','15'
'Sandra Mejia Gutierez','4'
我的模型是:
class Tarjeton(models.Model):
idtarjeton = models.AutoField(db_column='idTarjeton', primary_key=True) # Field name made lowercase.
descripcion = models.CharField(db_column='Descripcion', max_length=45) # Field name made lowercase.
cadidatos_idcadidatos = models.ForeignKey(Cadidatos, models.DO_NOTHING, db_column='Cadidatos_idCadidatos') # Field name made lowercase.
voto_candidato = models.ForeignKey('Voto', models.DO_NOTHING, db_column='Voto_idVoto') # Field name made lowercase.
class Meta:
managed = False
db_table = 'Tarjeton'
【问题讨论】:
您应该查看Django aggregation 中的示例。 ***.com/a/629691/6382901 的可能重复项 【参考方案1】:试试这个方法:
from django.db.models import Count
Tarjeton.objects.filter(voto_candidato=1).values('descripcion').annotate(Count('descripcion')).order_by()
【讨论】:
观察投票 Pedro Pablo de la Mar 15 Sandra Mejia Gutierez 4 JUan Jose Marquez 3 Camilo Gomez Ortega 3 1 结果不正确? 结果和你的问题一样,只是有序而已。 是的,结果是正确的,谢谢以上是关于如何选择 COUNT(*) GROUP BY DJANGO? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
oracle查询选择语句——count、sum、order by、group by
Postres SQL 使用 GROUP BY 和 COUNT 选择
Django 做一个简单的 group by/count 语句
SQL如何先用group by分组,并将分组的结果distinct?