mysql - 如何通过查询从sql组中获取某些值,其中数据为空
问题描述
最初我在名为comments的数据库中有一个空表。这里没有给出行输入。它有 4 列,其中 3 个外键。我这样写了一个查询-
SELECT COUNT(*)
FROM `comments`
GROUP BY posts_id
它什么也不返回,因为表完全是空的。但我必须通过此查询至少需要0才能确认表为空,或者如果它有值则返回我的值。或任何其他检查表是否为 null 的选项,它没有行。
(目前我正在 mysql 中测试查询。稍后,我将在 Laravel 查询构建器中转换它并在 laravel 应用程序中使用它)
解决方案
与表为空UNION ALL
时返回的查询一起使用:0
SELECT COUNT(*)
FROM `comments`
GROUP BY posts_id
UNION ALL
SELECT 0 FROM dual
WHERE NOT EXISTS (SELECT 1 FROM `comments`)
如果您使用的是 MySql 8.0+,则可以省略FROM dual
.
推荐阅读
- python - 用 Python 保存 Excel 文件,但我希望以前的数据和单元格编码不会丢失
- salesforce - 队列成员没有收到电子邮件通知
- jquery - 数据表警告:表 id=Datatables_Table_0 - Ajax 错误 Laravel 8
- dictionary - 仅需要建议功能时如何优化 Google Map Javascript?
- node.js - 使用 ts-node 处理 TCO - 超出最大调用堆栈大小错误
- git - 以前的“分阶段但未提交”更改会发生什么?
- linux - 删除文件名为“~”的文件
- c++ - 派生的模板类不调用构造函数
- spring-boot - 使用 Spring Boot 和 MyBatis 动态构建 DataSource Bean
- javascript - 如何在可扩展行内传递来自 firestore 的文本数据并获取要在 setState 内传递的文档 ID?