django의 집합, 그룹 조회 - annotate
                                            
 10122 단어  django
                    
3、select ...     from   
1、where ...
2、group by ...
4、having ...
5、order by ...
6、limit ...
  order by (질의 결과 정렬)
1. order by         
2.     
	1、 ASC(  ) :  
	2、 DESC :  
  django의 집합, 그룹 조회 - annotates
1. 로그가 다음과 같이 정의되어 있다고 가정합니다.
1.  :
	levelname:
		DEBUG
		INFO	
		WARNING
		CRITICAL
	status:
		newTask -    
		executeTask -    
		finishTask -    
		failTask -     
		backTask -     	
2.    : %(asctime)s --- %(levelname)s ---%(message)s
                                                   
createTime---levelName---status---appName---arrangeTime---userName---serialNumber
 :
2019-01-25 17:00:00,619---INFO---newTask---         ---00:02:00---jack---10000
2019-01-25 17:02:00,619---INFO---executeTask---     ---null---tom---10001
2019-01-25 17:03:00,619---INFO---backTask---     ---null---tom---10002
2019-01-25 17:04:00,619---WARNING---failTask---         ---null---jack---10003
2019-01-25 17:05:00,619---INFO---finishTask---        ---00:03:00---tom---10004
  2. django 데이터 모델 구축
from django.db import models
# Create your models here.
class info(models.Model):
    #  createTime     - -     
    time = models.CharField(max_length=15)
    createTime = models.DateTimeField()
    createSeconds = models.FloatField(default=0)
    levelName =  models.CharField(max_length=30)
    status = models.CharField(max_length=30)
    appName = models.CharField(max_length=50)
    arrangeTime = models.CharField(max_length=30)
    userName = models.CharField(max_length=30)
    serialNumber = models.CharField(max_length=30)
    #     log      
    seek = models.IntegerField(default=0)
    def __str__(self):
        return self.appName
  3. 집합, 그룹 조회 - annotate info.objects.filter(status=“finishTask”).values(“appName”,“status”).annotate(Count("serialNumber")는
SELECT `index_info`.`appName`, `index_info`.`status`, COUNT(`index_info`.`serialNumber`) AS `serialNumber__count` FROM `index_info` WHERE `index_info`.`status` = finishTask GROUP BY `index_info`.`appName`, `index_info`.`status` ORDER BY NULL
  info.objects.filter(status=“finishTask”).values(“appName”,“status”).annotate(Count(“serialNumber”)).order_by("-appName") [:2]는
SELECT `index_info`.`appName`, `index_info`.`status`, COUNT(`index_info`.`serialNumber`) AS `serialNumber__count` FROM `index_info` WHERE `index_info`.`status` = finishTask GROUP BY `index_info`.`appName`, `index_info`.`status` ORDER BY `index_info`.`appName` DESC  LIMIT 2
  이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.