홈>
테이블에서 행을 검색하여 병합하고 값을 가져와야합니다.
예 :
id_sender id_receiver nb_mails
3 4 10
1 2 13
4 3 5
그래서 다음과 같은 결과를 얻고 싶습니다 :
id_1 id_2 nb_communication
3 4 15
1 2 13
sqlalchemy로 할 수 있습니까? 아니면 내 자신의 치료를해야합니까?
다음으로 해결 :
q = session.query(
label('id_1' ,func.least(table.initiator_id, table.receiver_id)),
label('id_2', func.greatest(table.initiator_id, table.receiver_id)),
label('nb_communication', func.sum(table.nb_mails))
).order_by("nb_communication").group_by('id_1', 'id_2').all()
- 답변 # 1
관련 자료
- python - SQLAlchemy가 orm 쿼리와 일치하지 않는 열
- 쿼리 세트 병합시 중복 유지 (Django)
- python - 플라스크 SQLAlchemy 마시멜로 | 두 ID 값 사이의 모든 항목을 쿼리하는 방법
- python - SQLAlchemy 쿼리에서 두 번째 행 가져 오기
- python - SQLAlchemy를 사용하려면 쿼리의 별칭을 지정해야하지만 생성 된 SQL에서 해당 별칭이 사용되지 않습니다
- python - sqlalchemy에서 Oracle 업데이트 쿼리를 위해 CTE를 이동하는 방법
- python - in_ () 메서드를 사용한 후 Sqlalchemy 쿼리가 매우 느림
- python - Sqlalchemy 삽입 쿼리가 결과를 반환하지 않습니다
- sql server - 더미/자리 표시 자 데이터를 SQL 쿼리로 병합
- python - SQLAlchemy 쿼리는 None을 반환
- sql - sqlalchemy의 다 대다 관계 쿼리
관련 질문
- sql - 방법 : 상호 배타적 인 여러 CTE에서 SELECT
- sql - 객체 배열에서 특정 객체 업데이트 Postgres jsonb
- sql - 테이블 2에있는 테이블 1에서 행 삭제
- SQL 다른 테이블을 기반으로 누락 된 열이있는 행 찾기
- SQL-호기심에 삽입
- 창 기능을 사용하지 않고이 SQL 질문을 해결하는 방법
- database - PostgreSQL 인덱스에 가시성 정보가없는 이유는 무엇입니까?
- sql - Suave에 데이터베이스 도구가 포함되어 있습니까?
- sql : 관계형 데이터베이스에 계층 적 데이터를 저장하는 옵션은 무엇입니까?
- sql - Spring Boot에서 REST API를 만들기 위해 JSON 배열에서 DB에 테이블을 만드는 방법
대부분의 데이터베이스는
least()
를 지원합니다 그리고greatest()
기능. 할 수있는 일 :데이터베이스가 이러한 기능을 지원하지 않으면
case
를 사용하여 비슷한 작업을 수행 할 수 있습니다 .