我想知道是否有办法将中间结果或表保存在SQL中.例如,假设您有两个不同的SQL语句,在第一个语句中连接两个表,然后您想要查看结果表有多少行.我知道有很多方法可以做到这一点,但我很想看看如何按顺序完成.考虑以下示例:

select * from order_table left join customer_table on order_table.id = customer_table.id

然后我想看看行数(作为一个简单的例子)

select count(*) from table 

但我不知道这张桌子应该是什么.如何将上述查询的结果保存在某个逻辑表中,或者如何引用之前在SQL中创建的内容.

推荐答案

您可以使用以下选项:

WITH resultTable as ( select * from order_table left join customer_table on order_table.id = customer_table.id )

select count(*) from resultTable

Mysql相关问答推荐

对象NotExecutabletry 在远程SQL服务器上执行SQL时出错,并使用SQLAchemy.Create_engine

用于搜索从各种表中获得的结果的查询

为什么MySQL派生条件下推优化不起作用

为什么 MAX 函数通过调用在 group 中生成正确的结果

mysql 获取每个单词的第一个字母

从 NextJS/Prisma 添加用户 ID (FK) 到 MySQL 表

基于多个 where 子句在规范化表中查找公共 ID(值)

此更新查询是否有任何可能的重写选项?

仅当其他行相等时才 Select 行值

按年份范围 SQL 查询分组

SQL从具有相同列的行中 Select 最后一行

MySQL如何通过外键ID Select 多行?

显示值为空的所有列名

DECIMAL(m, n) 在 64 位系统中如何表示?

如何在不违反唯一约束的情况下交换 MySQL 中两行的值?

如何使用 C++ 连接 mySQL 数据库

按日期和时间降序排序?

MySQL - 基于同一表中的行求和列值

在 MySQL 中的子查询上使用 GROUP_CONCAT

按 COUNT(*) 过滤?