0
나는 다음과 같은 쿼리를 사용하고
SELECT Policy_type_ID,Policy_Value Value,CASE Policy_Value WHEN max(Policy_Value) THEN 'Highest' WHEN min(Policy_Value) THEN 'Lowest' END AS Range
FROM Policy_Types
GROUP BY Policy_type_ID,Policy_Value
HAVING ((Policy_Value IN (SELECT max(Policy_Value)
FROM Policy_Types)) OR (Policy_Value IN(SELECT min(Policy_Value)
FROM Policy_Types)));
을하지만 결과는 'Range'.Its 만에 관한 열에서 하나 개의 값을'최고 '가 첫 번째 경우는 어쨌든간에 나머지는 무시합니다.
Policy_type_ID Value Range
501180 990000 Highest
690002 10 Highest
690006 10 Highest
690007 10 Highest
어디서 잘못 가고 있는지 잘 모르겠습니다. 문제가되는 CASE 문 .... 어떤 도움 ??
그것은 감각을 사용하지 않습니다 'MAX (Policy_Value)'때'가 각 그룹의 최대 계산 이후 Policy_Value', 당신은에 의해 그룹화하고있는 열 중 하나입니다. 각 그룹 내에서 값은 항상 최대 값과 같습니다. – Barmar
이 정책 값을 전체 테이블의 최대 값과 비교하려고합니까? – Barmar