这个问题看起来比问题本身更复杂。所以这里是例子。我在MySQL中有一个“测试”表,只有一个字段:ObjectId INTEGER(10)。ObjectId 字段中的值:
1
1
1
2
2
我在 MySQL 查询浏览器中执行以下语句:
SELECT DISTINCT ObjectId obid, (SELECT count(*) FROM Test WHERE ObjectId = obid) AS cnt FROM Test
结果是我所期望的:在上面的示例中,有 2 行包含:
第 1 列:ObjectId 值
第 2 列:相应 ObjectId 值出现在列中的次数。
obid cnt
1 3
2 2
现在我在SQLite数据库中创建的相同表(结构和数据)上执行相同的语句。我收到一条错误消息,提示“没有这样的列:obid”。
上面提到的 SELECT 对我的目的来说非常方便。被迫用一系列选择(比如使用光标)替换它看起来有点奇怪。我是 SQLite 的新手,所以也许我错过了一些东西。我已经调查了很多结果为零。
那么,有没有人知道是否有类似的单个 SELECT 语句会在 SQLite 数据库上产生相同的结果?
谢谢