您的位置:首页 > 数据库

Django 查询数据库常用语句

2014-10-24 13:41 316 查看
参考:点击打开链接

1. group by & order by & Q

聚合+排序,对应的sql语句是:

Select currentpid, count(*) from stats_x

where type=3 and (status =1 or status=0)

group by currentpid

order by currentpid desc

对应的django 写法:

stats_x.objects.filter(Q(type=3) & ( Q(status=1) | Q(status=0) ) ).values('currentpid').annotate(delta_count=Count('id')).order_by('-currentpid')

#order by -号是倒排。

#在annotate前面添加values,即以该属性列表为group by的列

#annotate 与aggregate一样都是可以用于聚合,但是aggregate 聚合后的column 名字是固定的,不能自定义,annotate可以自定义列名,例如delta_count

Note: Q 表达式之间不能用AND ,必须用&

2. TO BE CONTINUED……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: