테이블에서 최대값을 찾은 후 SQL 그룹을 별도로 표시하고 각 SQL 그룹의 최대값 개수를 표시합니다.
P粉451614834
P粉451614834 2024-03-30 15:53:50
0
2
368

아아아아

그래서 이것은 내 테이블 SERVICE이며, (보시다시피) 최대 경험치는 100입니다. 위치(왼쪽, 오른쪽, 위쪽, 아래쪽)별로 구성된 그룹별로 경험치 100이 나타나는 횟수를 구하는 쿼리를 작성해야 합니다.

그래서 제가 쓴 글은 다음과 같습니다:-

으아악

예상 출력:-

으아악

하지만, 오류가 발생했습니다. - "GROUP BY 표현식이 아닙니다."

내 논리는 먼저 그것을 그룹으로 나눈 다음 had 절을 사용하여 최대 값과 동일한 경험을 가진 각 그룹의 튜플을 계산한다는 것입니다. 경험.

P粉451614834
P粉451614834

모든 응답(2)
P粉718730956

한 가지 방법은 최대값만 반환하는 하위 쿼리와 함께 Left 조인을 사용하는 것입니다. 임의의 최대값을 갖는 그룹을 반환하려면 케이스가 필요합니다.

으아악

https://dbfiddle.uk/-8pHZ8wm

쉽게 이해하기 위해 아래 쿼리를 실행하면 서비스 테이블의 값 100을 제외한 모든 행에서 max_experience가 비어 있음을 알 수 있습니다. 간단히 말해, 아직 최대 경험치에 도달하지 않은 값이 100과 0인 그룹의 행만 계산하면 됩니다.

으아악

https://dbfiddle.uk/al8YYLk9

편집. 답변은 Oracle에서도 작동하지만 하위 쿼리 뒤의 키워드를 제거해야 합니다 as

으아악

https://dbfiddle.uk/hhGB_xXx

P粉936568533

사용 求和:

으아아아

바이올린을 보세요.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!