在 sqlite 中查询 Where 子句的结果

Posted

技术标签:

【中文标题】在 sqlite 中查询 Where 子句的结果【英文标题】:Query result in Where clause in sqlite 【发布时间】:2021-04-07 23:40:22 【问题描述】:

表格

id  actor   result
1   Aman    20
2   Aman    23
3   Ston    21
4   halazon 21
5   klawi   20
6   halazon 14

我想按首字母查询演员以及他们在表中的次数 我试过了,但没有成功:

查询

select actor, count(*) from actors 
where actor = (select actor from actors
where actor like 'A%' GROUP by actor order by actor ASC)

预期结果

Aman 2

【问题讨论】:

【参考方案1】:

我没有看到子查询的意义——另外,如果多个参与者的名称以 A 开头,它将失败(子查询将返回多行,不能与 @987654321 一起使用@)。

如果你想直接过滤:

select actor, count(*) as cnt
from actors 
where actor like 'A%' 
group by actor 
order by actor

【讨论】:

无论如何,如果子查询是必要的(在这种情况下不是:我完全同意你,但 如果是)正确的运算符将是 IN 而不是=。只是写这个作为将来的参考。

以上是关于在 sqlite 中查询 Where 子句的结果的主要内容,如果未能解决你的问题,请参考以下文章

雪花,SQL where 子句

where条件放在子SQL语句中是否查询速度更快?

SQLite3 数据库查询优化

SQLite基础-7.子句

《SQLite3 — 子句》

SQLite 中 WHERE 子句中的聚合函数