2

另一个我找不到答案的MYSQL问题:

我有这张表,我想获取所有 SN>7 和 reps > 4 的 ID,并且在第 1-6 列中,至少满足某个条件 x 次。

例如,列 col1-col6 中至少有 3 个单元格的值 > 1。

第一部分很容易(SELECT * FROM table WHERE SN > 7 AND reps > 4....),但我不知道第二部分。

谢谢!

ID SN    reps  col1   col2  col3  col4  col5  col6
A  12    3     0.6    1     3     -2    1     3
B  6     5     3.2    1.1   -3.3  3     0     0
C  300   6     1.3    -0.4  0     0.6   -0.5  -3.3
4

2 回答 2

3

尝试:

SELECT * FROM table 
WHERE SN > 7 AND reps > 4 and
      (case when `1` > 1 then 1 else 0 end +
       case when `2` > 1 then 1 else 0 end +
       case when `3` > 1 then 1 else 0 end +
       case when `4` > 1 then 1 else 0 end +
       case when `5` > 1 then 1 else 0 end +
       case when `6` > 1 then 1 else 0 end) >= 3
于 2013-04-25T19:46:02.667 回答
1
select * from table where sn> 7 and reps > 4 and 
(((`1` > 1) + (`2` > 1 ) + (`3` > 1) + (`4` > 1) + (`5` >1 ) + (`6` > 1)) >= 3)
于 2013-04-25T19:48:45.740 回答