Flask-SQLAlchemy를 사용하고 있으며 (필요한 경우 SQLAlchemy에 기꺼이) 4 개 열 조합이 고유 한 테이블에서 모든 값을 가져 오는 방법을 알아 내려고합니다.
예를 들어,이 객체 클래스가 있습니다.
class SearchRule(db.Model):
id = db.Column(db.Integer, primary_key=True)
type = db.Column(db.Text)
location = db.Column(db.Text)
owner = db.Column(db.Text)
delegate = db.Column(db.Text)
set_id = db.Column(db.Integer, db.ForeignKey('set.id'))
내가 반환하고 싶은 set_id
것은 조합 type + location + owner + delegate
이 고유 한 모든 값 입니다.
다음은 예제 테이블입니다.
id type location owner delegate set_id
1 db usa matt joe 5
2 db usa matt joe 6
3 db uk jim bob 9
4 db uk jim bob 12
이 테이블에서 다음과 같은 것을 반환하고 싶습니다.
[
('db', 'usa', 'matt', 'joe', [5, 6]),
('db', 'uk, 'jim', 'bob', [9, 12])
]
Any help would be greatly appreciated!
여기서 일하는 그룹이 아닌 이유. Group by는 그룹화되는 항목별로 열의 고유 한 값을 가져온 다음 집계 된 열에 고유 한 값을 적용하면 고유 한 ID 값을 얻을 수 있습니다. ID의 모든 값을 원하면distinct()
from sqlalchemy.sql import func
query = session.query.(SearchRule.type, SearchRule.location,
SearchRule.owner, SearchRule.delegate,
func.group_concat(SearchRule.set_id.distinct())/
.group_by(SearchRule.type, SearchRule.location,
SearchRule.owner, SearchRule.delegate)
group_concat
파이썬 코드에서 필요한 것으로 변환 할 수있는 쉼표 결합 문자열을 생성합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다