[SQL] 기준 개체로 그룹 최대 절전 모드
SQL기준 개체로 그룹 최대 절전 모드
나는 최대 절전 모드 기준으로 다음과 같은 SQL 쿼리를 구현하고 싶습니다 :
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name <operator> value
GROUP BY column_name
나는 최대 절전 모드 기준으로이를 구현하려고 노력하지만 잘되지 않았다.
그 누구도 날이가 최대 절전 모드 기준으로 수행 할 수있는 방법을 예를 들어 줄 수 있습니까? 감사!
해결법
-
==============================
1.예 국지적 인 주요 지점에 대한이를 참조하십시오하면 groupProperty ()와 돌기 클래스에서 제공하는 관련 집계 함수를 사용하는 것입니다.
예 국지적 인 주요 지점에 대한이를 참조하십시오하면 groupProperty ()와 돌기 클래스에서 제공하는 관련 집계 함수를 사용하는 것입니다.
예를 들면 :
SELECT column_name, max(column_name) , min (column_name) , count(column_name) FROM table_name WHERE column_name > xxxxx GROUP BY column_name
동등한 기준 객체는 다음과 같습니다
List result = session.createCriteria(SomeTable.class) .add(Restrictions.ge("someColumn", xxxxx)) .setProjection(Projections.projectionList() .add(Projections.groupProperty("someColumn")) .add(Projections.max("someColumn")) .add(Projections.min("someColumn")) .add(Projections.count("someColumn")) ).list();
-
==============================
2.최대 절전 모드에서 사용하는 그룹으로
최대 절전 모드에서 사용하는 그룹으로
이 결과 코드
public Map getStateCounts(final Collection ids) { HibernateSession hibernateSession = new HibernateSession(); Session session = hibernateSession.getSession(); Criteria criteria = session.createCriteria(DownloadRequestEntity.class) .add(Restrictions.in("id", ids)); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.groupProperty("state")); projectionList.add(Projections.rowCount()); criteria.setProjection(projectionList); List results = criteria.list(); Map stateMap = new HashMap(); for (Object[] obj : results) { DownloadState downloadState = (DownloadState) obj[0]; stateMap.put(downloadState.getDescription().toLowerCase() (Integer) obj[1]); } hibernateSession.closeSession(); return stateMap; }
-
==============================
3.당신은 @Ken 찬 언급 접근 방식을 사용하고, 객체, 예를 들어 특정 목록을 원한다면 그 후 단 한 줄의 코드를 추가 할 수 있습니다 :
당신은 @Ken 찬 언급 접근 방식을 사용하고, 객체, 예를 들어 특정 목록을 원한다면 그 후 단 한 줄의 코드를 추가 할 수 있습니다 :
session.createCriteria(SomeTable.class) .add(Restrictions.ge("someColumn", xxxxx)) .setProjection(Projections.projectionList() .add(Projections.groupProperty("someColumn")) .add(Projections.max("someColumn")) .add(Projections.min("someColumn")) .add(Projections.count("someColumn")) ).setResultTransformer(Transformers.aliasToBean(SomeClazz.class)); List<SomeClazz> objectList = (List<SomeClazz>) criteria.list();
-
==============================
4.최대 절전 기준을 사용하여 그룹을해야 할 경우 다음과 같은 projections.groupPropery를 사용,
최대 절전 기준을 사용하여 그룹을해야 할 경우 다음과 같은 projections.groupPropery를 사용,
@Autowired private SessionFactory sessionFactory; Criteria crit = sessionFactory.getCurrentSession().createCriteria(studentModel.class); crit.setProjection(Projections.projectionList() .add(Projections.groupProperty("studentName").as("name")) List result = crit.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP).list(); return result;
from https://stackoverflow.com/questions/8491796/hibernate-group-by-criteria-object by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] PIP "심각한 오류 C1083을 mysqlclient 반환을 설치하지 : 파일을 열 수 없습니다 : '에서 mysql.h를': 그런 파일이나 디렉토리 (0) | 2020.05.01 |
---|---|
[SQL] 는 SQL 쿼리 알려진 두 문자열 사이의 문자열을 선택합니다 (0) | 2020.05.01 |
[SQL] 문자열이 고유 식별자 인 경우 확인하는 방법? (0) | 2020.05.01 |
[SQL] SQL은 - 어떻게 최대 값을 가진 열을 갖는 행을 선택합니다 (0) | 2020.05.01 |
[SQL] SQL LIKE의 C # 버전 (0) | 2020.05.01 |