php - 如果大于0,计算行数并返回结果
问题描述
仅当内容> 0 时,我才尝试显示结果
SELECT actors.*, (SELECT count(*) FROM `content_actors`
WHERE content_actors.actor = actors.record_id) AS getCount
FROM actors
如果我尝试添加查询
WHERE getCount > 0
我会有错误
'where 子句'中的未知列'getCount'
解决方案
在 MySQL 中,您可以使用having
子句:
SELECT actors.*,
(SELECT count(*) FROM `content_actors` WHERE content_actors.actor = actors.record_id) AS getCount
FROM actors
HAVING getCount > 0;
这是一个 MySQL 扩展。
假设actors.record_id
是唯一的(可能是主键),这可以写成:
SELECT a.*, COUNT(*) as getCount
FROM actors a JOIN
content_actors ca
ON ca.actor = a.record_id
GROUP BY a.record_id; -- assumes this is unique/primary key
不需要过滤,因为JOIN
至少需要一个匹配项。
推荐阅读
- c# - 如何在 Swashbuckle 中显示我的模型中使用的自定义注释?
- jupyter-notebook - 在本地运行 jupter notebook 与 google colab 中加载文件的问题,因为数据文件的顺序似乎不同
- sql - 验证代码中的 Pl/SQL 语法问题
- elasticsearch - ElasticSearch NEST 简单条款查询需要 .keyword
- windows - 如何使.exe文件的内容在记事本中不可读
- python - 如何仅将 df.str.replace() 用于完整匹配?
- javascript - 开发者工具中的 Vue 数组更新但不会重新渲染
- powershell - VSCode - 在单独的窗口中打开终端
- python - 无法使用 upload-symbols.py 将符号文件上传到 Flurry:Broken pipe>
- python - 如何查询集继承模型django?