Bag*_*ani 3 sql sqlite performance android-sqlite
我有一个包含以下结构和示例数据的表:
现在我想查询value等于#和的记录@.
例如根据上面的图像,它应该返回1和2
id
-----
1
2
Run Code Online (Sandbox Code Playgroud)
此外,如果该参数是@,#和$它应该给我们1.因为只有id的记录1具有所有给定的值.
id
-----
1
Run Code Online (Sandbox Code Playgroud)
您可以使用分组,并且必须获取包含您要查找的项目数量的独特计数的不同ID
SELECT Id
FROM Table
WHERE Value IN ('#','$')
GROUP BY Id
HAVING COUNT(DISTINCT Value) = 2
SELECT Id
FROM Table
WHERE Value IN ('#','$','@')
GROUP BY Id
HAVING COUNT(DISTINCT Value) = 3
Run Code Online (Sandbox Code Playgroud)
SQL Fiddle 你可以用这个链接来测试