数据表如下:第一行字段名 其余字段值
head1 | head2 | head3 | head4
| 765 | 128 |
555 | | 30 | 400
111 | | 304 |
| | | 77
200 | 300 | 400 | 500
...
...
1.用户给一个条件,要求查询head个数为指定数量的字段,例如用户选2,表示拥有2个head字段的记录被找出,即第一条记录和第三条记录;用户选1,则第四条记录被找出;用户选4则第五条记录符合2.用户给了数字,要求在这四个字段中凡是大于等于该数的都找出:例如用户输入500,则第一,第二,第五条记录被找出请问这两句select语句怎么写?
谢谢!
head1 | head2 | head3 | head4
| 765 | 128 |
555 | | 30 | 400
111 | | 304 |
| | | 77
200 | 300 | 400 | 500
...
...
1.用户给一个条件,要求查询head个数为指定数量的字段,例如用户选2,表示拥有2个head字段的记录被找出,即第一条记录和第三条记录;用户选1,则第四条记录被找出;用户选4则第五条记录符合2.用户给了数字,要求在这四个字段中凡是大于等于该数的都找出:例如用户输入500,则第一,第二,第五条记录被找出请问这两句select语句怎么写?
谢谢!
from yourTable
where IF(ISNULL(head1),0,1) + IF(ISNULL(head2),0,1) +IF(ISNULL(head3),0,1) +IF(ISNULL(head4),0,1) =3
from tt where COALESCE(head1,0,1) + COALESCE(head2,0,1) +COALESCE(head3,0,1) +COALESCE(head4,0,1)>=3 2
select * from tt where IF(head1>=500,0,1) + IF(head2>=500,0,1) +IF(head3>=500,0,1) +IF(head4>=500,0,1)>=3