내림차순으로 주문하시겠습니까?
ORDER BY 사용방법descending
다음과 같은 SQL Chemy 쿼리에 포함됩니까?
이 쿼리는 동작하지만 오름차순으로 반환합니다.
query = (model.Session.query(model.Entry)
.join(model.ClassificationItem)
.join(model.EnumerationValue)
.filter_by(id=c.row.id)
.order_by(model.Entry.amount) # This row :)
)
시도하면:
.order_by(desc(model.Entry.amount))
그러면 다음과 같이 됩니다.NameError: global name 'desc' is not defined
.
참고 항목과 마찬가지로 이러한 항목을 열 속성으로 지정할 수도 있습니다.예를 들어 다음과 같은 작업을 수행했을 수 있습니다.
.order_by(model.Entry.amount.desc())
이것은 편리합니다.import
관계 정의 등 다른 장소에서도 사용할 수 있습니다.
상세한 것에 대하여는, 이 SQL Chemy 1.4 메뉴얼을 참조해 주세요.
from sqlalchemy import desc
someselect.order_by(desc(table1.mycol))
@jpmc26부터의 사용방법
또 다른 방법은 다음과 같습니다.
.order_by("name desc")
ORDER BY name description 이 됩니다.여기서 단점은 순서에서 사용되는 명시적인 열 이름입니다.
사용할 수 있습니다..desc()
다음과 같이 쿼리에서 기능합니다.
query = (model.Session.query(model.Entry)
.join(model.ClassificationItem)
.join(model.EnumerationValue)
.filter_by(id=c.row.id)
.order_by(model.Entry.amount.desc())
)
이것은 내림차순으로 금액별로 주문됩니다.
query = session.query(
model.Entry
).join(
model.ClassificationItem
).join(
model.EnumerationValue
).filter_by(
id=c.row.id
).order_by(
model.Entry.amount.desc()
)
)
SQL Chemy 설명 기능 사용
from sqlalchemy import desc
query = session.query(
model.Entry
).join(
model.ClassificationItem
).join(
model.EnumerationValue
).filter_by(
id=c.row.id
).order_by(
desc(model.Entry.amount)
)
)
공식 문서는 링크를 사용하거나 아래 스니펫을 확인하십시오.
sqlalchemy.sql.expression.desc(열) 내림차순 ORDER BY 절 요소를 생성합니다.
예:
from sqlalchemy import desc stmt = select([users_table]).order_by(desc(users_table.c.name))
SQL은 다음과 같이 생성됩니다.
SELECT id, name FROM user ORDER BY name DESC
desc() 함수는 모든 SQL 식에서 사용할 수 있는 ColumnElement.desc() 메서드의 스탠드아론 버전입니다.예를 들어 다음과 같습니다.
stmt = select([users_table]).order_by(users_table.c.name.desc())
파라미터 컬럼: desc() 연산을 적용하는 ColumnElement(스칼라 SQL 식 등).
「 」를 참조해 주세요.
asc()
nullsfirst()
nullslast()
select.order_by() 선택
다음 작업을 수행할 수 있습니다..order_by(ClientTotal.id.desc())
session = Session()
auth_client_name = 'client3'
result_by_auth_client = session.query(ClientTotal).filter(ClientTotal.client ==
auth_client_name).order_by(ClientTotal.id.desc()).all()
for rbac in result_by_auth_client:
print(rbac.id)
session.close()
@Radu answer에서 보완합니다. SQL에서와 같이 동일한 속성을 가진 테이블이 여러 개 있는 경우 파라미터에 테이블 이름을 추가할 수 있습니다.
.order_by("TableName.name desc")
언급URL : https://stackoverflow.com/questions/4186062/sqlalchemy-order-by-descending
'programing' 카테고리의 다른 글
Vuex - getter를 사용할 때와 상태를 사용할 때 (0) | 2023.01.12 |
---|---|
다른 웹 페이지로 리디렉션하려면 어떻게 해야 합니까? (0) | 2023.01.12 |
Java 프로젝트용 빌드 및 버전 번호 부여(ant, cvs, hudson) (0) | 2023.01.12 |
Django ModelAdmin의 list_display는 ForeignKey 필드의 속성을 표시할 수 있습니까? (0) | 2023.01.12 |
MySQL 대소문자를 구분하는 쿼리 (0) | 2023.01.12 |