我正在基于内置 SQLite 创建 Android 国家/地区测验。其中一项任务是为给定国家选择正确的大陆(从 4 个选项中)。我使用以下数据库结构:
continents: ID | name
countries: ID | continent (foreign key) | name | capital
应用程序选择 4 个随机行并以这种方式返回 Cursor:
return db.rawQuery("SELECT country.name, continent.name FROM "+COUNTRIES_TABLE_NAME+" country LEFT JOIN "+CONTINENTS_TABLE_NAME+" continent ON country.continent = continent.id ORDER BY RANDOM() LIMIT 4", null);
问题是什么:SQLite 可以随机选择来自同一大陆的国家,然后我有两个或更多相同的答案。我想避免这个问题添加 DISTINCT:
SELECT country.name, DISTINCT continent.name...
然后我得到一个错误(可能是因为语法)。那我该怎么办?