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을 반환합니다.
다음은 문서에 대한 링크입니다.LEAST()
Postgre에서 기능SQL:
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
.
언급URL : https://stackoverflow.com/questions/318988/how-do-i-get-the-min-of-two-fields-in-postgres
'programing' 카테고리의 다른 글
"스크립트 실행" 빌드 단계를 릴리스 구성으로 제한하려면 어떻게 해야 합니까? (0) | 2023.05.13 |
---|---|
git: 치명적:저는 'http' 프로토콜을 처리하지 않습니다. (0) | 2023.05.13 |
Postgre 사용 안 함SQL 외부 키의 마이그레이션 확인 (0) | 2023.05.13 |
Sed를 사용하여 문자열을 포함하는 전체 줄 바꾸기 (0) | 2023.05.08 |
.xls 파일을 읽고 쓸 수 있는 .NET Excel 라이브러리 (0) | 2023.05.08 |