1
0이 아닌 최소값을 찾는 데 문제가 있습니다.SQL이 0이 아닌 최소 값을 찾습니다.
예를 들어, 나는 각 개인이 벌어 들인 금액을 보여주는 테이블을 가지고 있으며 그 중 일부는 아무것도 얻지 못합니다. 나는 무엇이든을 벌지 않으며 가장 적게 (즉 0이 아닌) 적립하는 사람들의 이름을 찾는 사람들을 제외시키고 싶습니다.
나는이 시도 :SELECT name, earnings
FROM paylist
WHERE earnings = (SELECT min(earnings)
FROM paylist) AND EXISTS (SELECT *
FROM paylist
WHERE earning <> 0)
을하지만 난 분 (실적) 만 0이되고 출력에 어떤 값을 반환하지 않습니다 것을 깨달았다. 쿼리 작성 방법은 무엇입니까?
또한, 나는이를 작성하는 두 가지 방법이있을 수 듣는다 : 집계 함수 (예를 들어, COUNT, SUM, MAX, MIN) 2의 차이는 무엇 어떤 집계 함수 를 사용하지 않고와 1.?
가능한 중복 : 위의 두 최소 비 제로 이익
당신은 단지 하나 개의 행이 적어도 비 제로의 실적과 함께, 당신은
limit
를 사용하려는 경우 (더 집계가 필요하지)를 모든 행을 반환합니다 http://stackoverflow.com/questions/2099720/mysql-find-min-but-not-zero –"find ** the ** person"- 사람이 1 명인 경우 ORDER BY 및 LIMIT 1을 사용할 수 있습니다. –
죄송합니다. 나는 질문을 편집했으며, 결과물에는 최소한의 수입을 얻은 사람들의 이름이 모두 나와야합니다. – Raycherr