0

我们在一个表中有 2 列,并且想要 SELECT 两者中较小的大部分(除非它等于 0,那么我们想要非零列)。

有没有办法做到这一点,同时保持一个简单的 SELECT 语句?

我们想要的是: SELECT LEAST(col1, col2) FROM myTable 除非 col2 为 0,在这种情况下我们想要 col1。

4

2 回答 2

2
SELECT LEAST(
         IF(col1, col1, col2),
         IF(col2, col2, col1)
       )
FROM   myTable
于 2012-10-21T23:32:15.480 回答
1
SELECT
    CASE
        WHEN col1 = 0 THEN col2
        WHEN col2 = 0 THEN col1
        ELSE LEAST(col1, col2)
    END AS MinCol
FROM myTable
于 2012-10-21T23:33:09.483 回答