我们在表中有2列,并且想要选择两者中最小的一行(除非它等于0,然后我们想要非零列)。
有没有办法在保持简单的SELECT语句的同时执行此操作?
我们想要的是:
SELECT LEAST(col1, col2) FROM myTable
除非col2为0,否则我们需要col1。
答案 0 :(得分:2)
SELECT LEAST(
IF(col1, col1, col2),
IF(col2, col2, col1)
)
FROM myTable
答案 1 :(得分:1)
SELECT
CASE
WHEN col1 = 0 THEN col2
WHEN col2 = 0 THEN col1
ELSE LEAST(col1, col2)
END AS MinCol
FROM myTable