我有一个国家/地区列表,将以首字母分隔,因此,例如,当您单击'A'时,它将进行API调用以返回以'A'开头的所有国家/地区。
但是,有些字母在我们的系统中没有任何国家/地区,随着我们更新数据,这些字母可能会更改。
我想查询一下,让我知道哪些字母没有任何以它们开头的国家,以便我可以禁用它们。
我可以通过对字母表中的每个单个字母运行findOne查询来实现,但这不是整洁或高效的。有没有一种方法可以从单个查询中获取数据?
我能够通过在不同的函数中使用子字符串函数来获得所需的结果。
const result = await Countries.findAll({
attributes: [
[
sequelize.fn(
'DISTINCT',
sequelize.fn('substring', sequelize.col('countryName'), 1, 1),
),
'letter',
],
],
group: [sequelize.fn('substring', sequelize.col('countryName'), 1, 1)],
raw: true,
})