Postgres에서 두 필드의 MIN ()을 어떻게 얻습니까?
다음과 같은 테이블이 있다고 가정 해 봅시다.
name | score_a | score_b
-----+---------+--------
Joe | 100 | 24
Sam | 96 | 438
Bob | 76 | 101
... | ... | ...
score_a 및 score_b의 최소값을 선택하고 싶습니다. 즉, 다음과 같은 것입니다.
SELECT name, MIN(score_a, score_b)
FROM table
물론 결과는 다음과 같습니다.
name | min
-----+-----
Joe | 24
Sam | 96
Bob | 76
... | ...
그러나 Postgres 에서이 작업을 시도하면 "주어진 이름 및 인수 유형과 일치하는 함수가 없습니다. 명시 적 유형 캐스트를 추가해야 할 수도 있습니다." MAX () 및 MIN ()은 열이 아닌 행 에서 작동하는 것으로 보입니다 .
내가 시도하는 것을 할 수 있습니까?
최소 (a, b) :
GREATEST
및LEAST
기능은 표현의 수의 목록에서 가장 큰 또는 작은 값을 선택합니다. 표현식은 모두 공통 데이터 유형으로 변환 할 수 있어야하며 이는 결과 유형입니다 (자세한 내용 은 10.5 절 참조). 목록의 NULL 값은 무시됩니다. 모든 표현식이 NULL로 평가되는 경우에만 결과가 NULL이됩니다.참고
GREATEST
및LEAST
SQL 표준에 있지 않은,하지만 일반적인 확장이다. 일부 다른 데이터베이스는 모든 인수가 NULL 일 때뿐 아니라 인수가 NULL 인 경우 NULL을 반환합니다.
LEAST()
PostgreSQL 의 함수에 대한 문서 링크는 다음과 같습니다 .
http://www.postgresql.org/docs/current/static/functions-conditional.html#AEN15582
해당 데이터를 다음과 같은 열에 넣으면 답을 얻을 수 있습니다.
SELECT name, MIN(score_a, score_b) as minimum_score
FROM table
여기서는 중에서 최소값을 가하고 score_a
및 score_b
명명 된 컬럼에 그 값을 저장하여이를 인쇄 minimum_score
.
참고 : https://stackoverflow.com/questions/318988/how-do-i-get-the-min-of-two-fields-in-postgres
'IT story' 카테고리의 다른 글
다른 의도로 활동이 시작될 때 활동의 여러 인스턴스를 방지하는 방법 (0) | 2020.07.20 |
---|---|
ImportError : matplotlib.pyplot이라는 모듈이 없습니다. (0) | 2020.07.20 |
앵커 링크에 alt 태그를 사용하는 것이 맞습니까? (0) | 2020.07.20 |
팬더 : 여러 열의 두 데이터 프레임을 병합 (결합) (0) | 2020.07.20 |
심이 란? (0) | 2020.07.20 |