0

我有一个有 20 行的表,其中 10 个被标记A1, A2, A3, ...A10,另外 10 个是 G1、G2 等。

它们保存 0 和 99 之间的整数。

我只想选择具有 x(比如 4)列的行,这些列的值在一定范围内,例如 50 - 70。

这可能吗?

4

1 回答 1

3

以下是使用蛮力方法的方法:

select t.*
from (select t.*,
             ((case when a1 between 50 and 70 then 1 else 0 end) +
              (case when a2 between 50 and 70 then 1 else 0 end) +
              . . .
              (case when a10 between 50 and 70 then 1 else 0 end) +
              (case when g1 between 50 and 70 then 1 else 0 end) +
              (case when g2 between 50 and 70 then 1 else 0 end) +
              . . .
              (case when g10 between 50 and 70 then 1 else 0 end)
             ) n
      from t
     ) t
where n = 4;

您需要. . .为其余列填写相同的逻辑。

于 2013-09-02T14:59:57.453 回答