"group by" 및 "order by"를 사용하여 테이블에서 특정 행을 가져오는 방법
P粉794851975
P粉794851975 2023-09-12 17:54:20
0
1
506

다음과 같은 테이블이 있습니다.

tmp_id 제품 가용성(0 및 1) 사용 가능(0과 1) 재고_개수(정수) product_id (정수)
1 1 1 0 1
2 1 1 4 1

각각 가장 먼저 구매 가능한 제품을 구해야 합니다product_id. 판매 가능한 제품을 먼저 확인해야 합니다 product_availability,然后检查is_available,最后检查stock_count。 (当 product_availability1 时,产品可用,然后 is_available1 并且库存中至少有一种产品1. )

구매 가능한 제품부터 먼저 보여드리고 싶은데, 구매 가능한 제품이 없으면 어떤 제품이 표시되든 상관없습니다. (판매 불가능한 경우에는 첫 번째 제품도 표시됩니다.)

(위 예에서는 tmp_id2 제품을 먼저 구해야 합니다.)

질문: 내 질문은 내 요구 사항을 충족하기 위해 MYSQL 쿼리를 작성하는 방법입니다.

다음 명령을 사용하여 원하는 순서대로 제품을 가져올 수 있지만 GROUP BY:

를 사용하여 첫 번째 기존 제품을 가져오려면 다음에 무엇을 해야 할지 모르겠습니다. 으아아아

참고: 물론 이것은 제가 가지고 있는 간단한 데모일 뿐이며 실제 코드는 더 복잡하고 여러 개의 조인 및 기타 항목이 있습니다.

P粉794851975
P粉794851975

모든 응답(1)
P粉055726146

이 작업은 파티션 내의 각 행에 대한 고유한 행 번호를 반환하는 row_number()를 사용하여 수행할 수 있습니다.

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿