带计数返回空行的mysql

2023年 8月 3日 87.8k 0

MySQL是一种广泛使用的关系型数据库管理系统。其中,SELECT语句是用于检索数据的最常用语句之一。在使用SELECT语句时,有时需要对查询结果进行计数,并且还需要在计数的数据行之间插入空行。

SELECT COUNT(*) FROM 表名;

带计数返回空行的mysql

以上是常见的查询数据行数的语句。这将返回一个整数值代表查询结果集中的行数。然而,有时我们需要在数据的某些部分之间插入空行以提高可读性。这时,我们可以采用以下语句来处理:

SELECT
*,
IF(@last_id = `id`, '', @num:= @num+1) AS `num`,
@last_id := `id`
FROM
表名,
(SELECT @num := 0, @last_id := NULL) AS init
ORDER BY
`id` ASC;

在这种情况下,我们需要在查询字段列表中添加一个可以标记每个数据行的ID列。在本例中,我们使用表格的ID列作为标记。我们还定义变量@num和@last_id,它们用于跟踪上一个行的ID,以及在需要插入空行时保持当前记录的行数。我们使用IF函数和MySQL的用户变量来实现。如果当前行的ID与上一个行的ID相同,则在空行之前添加当前行的数量。否则,将行的ID设置为最近的行,并重置计数器。最后,我们将结果按ID升序排列以确保正确的计数。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论