我这样写SQLite查询。
myQuery1 = @"SELECT * FROM myTable WHERE myColumn IN (
SELECT myColumn FROM myTable GROUP BY myColumn HAVING COUNT(*) > 1)";
效果很好。 如果有2个或更多项目,它将为我提供所有分组的项目。
现在,我想得出更详细的结果。 因此,我在GROUP BY部分添加了myFunction。
myQuery2 = @"SELECT * FROM myTable WHERE myColumn IN (
SELECT myColumn FROM myTable GROUP BY myFunction(myColumn)
HAVING COUNT(*) > 1)";
虽然看起来运行良好,但如果将2个或更多项目分组,只会给我1个结果(最后一个)。
我怎么能同时拥有两个或两个以上的物品?
[编辑] “ myFunction”主要是使事情简短。 像这样的东西。
// Before : "123 Apple"
// After : "Apple"
因此,在myFunction之后,我只有“字母/字符”部分。 因此,我的复制范围可能会更大,因为我忽略了数字。
我猜它很好地归类在“ Apple”之下。但是,它只给我一个结果。
[EDIT2] 它通过“迈克尔·布彻(Michael Butscher)”的漂亮评论解决了!!