สมมติว่าฉันมีโต๊ะแบบนี้:
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 ฉันจะได้รับ "ไม่มีฟังก์ชั่นที่ตรงกับชื่อและประเภทอาร์กิวเมนต์ที่กำหนดคุณอาจต้องเพิ่ม casts ประเภทชัดเจน" MAX () และ MIN () ดูเหมือนจะทำงานข้ามแถวมากกว่าคอลัมน์
เป็นไปได้ไหมที่จะทำสิ่งที่ฉันพยายาม?
MAX()
สองค่าก็GREATEST(a, b)
:)