2012-07-09 3 views
1

나는 이미 바보 가겠다. 그 밖에 무엇을 시도해야할지 모른다. 나는이 데이터를 가지고 :mysql select and MAX()

테이블 이름이 erste

valuta kupovni  
EUR  7.435 
GBP  9.2132 

입니다 그리고 나는이 시도 :

SELECT valuta, MAX(kupovni) 
FROM erste 

나는이 얻을 :

valuta MAX(kupovni) 
EUR 9.213199615478516 

을 그리고 싶어 :

GBP 9.2132 

칼럼 수는 varchar(3)이고, kupovnifloat (10)이다. 나는 그것을 잘못하고있는 것을 정말로 모른다. 시도 :

SELECT valuta, MAX(kupovni) 
FROM erste 
GROUP BY kupovni 

맞습니까?

답변

4

이것은 kupovni 필드의 값이 가장 큰 행을 선택하는 것과 같습니다.

당신은 할 수 있습니다 :

SELECT valuta, kupovni 
FROM erste 
ORDER BY kupovni DESC 
LIMIT 1 
+0

이것은 작동합니다, tywm. 하지만 여전히 왜 SELECT valuta, MAX (kupovni)가 나쁘지 않은지 궁금해합니다. – user1511031

+1

@Struna, 질문을 더 자세히 읽고 다시보십시오. OP는 단순히 최대'kupovni '행을 원합니다. 동일한 최대'kupovni'를 가진 행이 있더라도 OP는 한 행만 반환하기를 원합니다. 테이블에있는 데이터의 순서는 행 삽입 방법에 상관없이'kupovni'에 의한 질의 명령 이후로 중요하지 않습니다. Bohemian의 솔루션은'valuta'가 GBP 인 곳에서 최대'kupovni'를 얻습니다. OP는 'valuta'에 관계없이 테이블에서 가장 높은 행을 원합니다. 보헤미안의 해답에서, 만약 당신이'valuta = 'GBP'를 가지고 있다면, 그의 'GROUP BY'또한 불필요합니다. –

+0

@Struna, 오케이, 괜찮아! –

1

아주 가까이 있습니다! 여기에 당신이 필요로하는 작업은 다음과 같습니다

SELECT valuta, MAX(kupovni) 
FROM erste 
where valuta = 'GBP' -- optional where clause 
group by valuta 

당신은 모든 열 "에 의해 그룹"는 aggregate function 집계하지 않아야합니다. ,

SELECT MAX(kupovni) 
FROM erste 
where valuta = 'GBP' 

(즉, MySQL은 열하여 그룹에서 생략 할 수 있습니다이 경우 : 당신이 정말로 당신이 valuta을 알고 있기 때문에, 내가 이런 짓을 했을까, 출력에valuta을 필요로하지 않는

이 각 그룹에 대해 처음으로 행을 갖게됩니다.

+0

당신은 ". 모든 열이 집계 함수에 의해 집계되지"하여 "당신은해야"그룹을 설명해 주시겠습니까? 나는 내 포스트에서 이것을 시도했지만 나는 결과로서 단지 하나의 가치를 원한다고 설명했다. max 함수가 일치하는 행 전체를 원합니다. – user1511031

+0

당신은 당신이 "최대"를 찾고있는 "그룹"을 형성하는 컬럼을 mysql에 알려줄 필요가있다. 편집 된 답변을 참조하십시오. – Bohemian

1

이 시도 :

SELECT valuta, TRUNCATE(MAX(kupovni),4) 
FROM erste 
group by valuta 
0
SELECT erste.* 
    FROM (SELECT valuta, MAX(kupovni) AS maxtotal 
      FROM erste 
      GROUP BY valuta) AS dt 
INNER JOIN erste 
    ON erste.valuta= dt.valuta 
    AND erste.kupovni= dt.maxtotal 
ORDER BY items_purchased.val DESC LIMIT 1 
+0

내 퀘이리의 결과로 단 하나의 행이 필요합니다. – user1511031

+0

ORDER BY 및 LIMIT 1을 (를) 추가하는 것은 어떻습니까? – sel

+0

한계 1 작품, 고마워. – user1511031