我originally asked for help在以竖线分隔的列表中查找值,其中值必须包含4
或5
,但不得包含2
或3
。但是,接受的解决方案本身会返回值255
。
我的数据集包含管道分隔值,可以是0
,1
,2
,3
,4
0r {{1} },例如:
255
我需要一个返回包含| colA |
____________
| 1|1|0|255 |
| 5|4|4|2 |
| 5|4|4|3 |
| 5|4|4|4 |
| 1|0|0|0 |
| 0|2|0|1|2 |
| 5|5|0|5 |
| 0|5 |
| 5|5|255|255|
| 0|3|1|2|3 |
| 5|5|5|2|3|3|
| 0|2|0|0|0|2|
| 5|255|1|1|5|
| 4|255|4 |
| 2|2|3 |
| 255|0 |
| 5 |
| 5|5|1 |
或4
值但从不5
或2
的行的查询。
3
我最接近的是这个查询:
| colA |
____________
| 5|4|4|3 |
| 5|4|4|4 |
| 5|5|0|5 |
| 0|5 |
| 5|5|255|255|
| 5|255|1|1|5|
| 4|255|4 |
| 5 |
| 5|5|1 |
但它缺少以下条目,所以有些不可思议:
SELECT clin.clin_sig
FROM clinvar clin
WHERE (clin_sig NOT REGEXP '3|2[^5]'
AND clin_sig REGEXP '4|[^25]5')
5
5|255
5|5|5|5|5|5|5
5|0
5|255|255
我也试过这个,但它很慢但仍然缺少一些结果:
5|5|1
答案 0 :(得分:2)
clin_sig REGEXP '^[[:<:]](4|5)[[:>:]]$'
AND clin_sig NOT REGEXP '^[[:<:]](2|3)[[:>:]]$'
请提供更多测试用例。