我有一个表,其中有一个名为values
的列:
values | other_columns...
-------+-----------------
f | ...
foo | ...
fo | ...
bar | ...
ba | ...
baz | ...
foobar | ...
查询此表时,我想过滤结果,以便仅剩下的行是其中value
不是该列中任何其他value
的子字符串的行:
prime_values | other_result_columns...
-------------+------------------------
baz | ...
foobar | ...
我该怎么做?
答案 0 :(得分:1)
不存在:
select t.*
from tablename t
where not exists (
select 1
from tablename
where
values <> t.values
and
values like concat('%', t.values, '%')
)
请参见demo。
结果:
> | values |...
> | :----- |
> | baz |
> | foobar |