Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 查询计算和临时表_Mysql_Sql_Mysqli - Fatal编程技术网

Mysql 查询计算和临时表

Mysql 查询计算和临时表,mysql,sql,mysqli,Mysql,Sql,Mysqli,我有一个关于构造查询的问题。我有5个表,其中我需要从中获取特定数据或需要从中操作的数据。我需要根据这些表中的数据进行计算,但首先我需要显示包含不需要进行任何计算的数据的列。到目前为止,我所做的是创建一个临时表,并根据需要将所有列查询到该表中。我的下一个任务和思考过程是制作另一个临时表,完成所有计算并填写,然后将两个临时表合并到一个表中 我的问题是:对于所有这些计算,有些需要基于平均数的计算、计数、求和等,它们总共至少有10个新列。我面临的问题是构造一个查询,该查询将允许我从表中实现这些计算,并实

我有一个关于构造查询的问题。我有5个表,其中我需要从中获取特定数据或需要从中操作的数据。我需要根据这些表中的数据进行计算,但首先我需要显示包含不需要进行任何计算的数据的列。到目前为止,我所做的是创建一个临时表,并根据需要将所有列查询到该表中。我的下一个任务和思考过程是制作另一个临时表,完成所有计算并填写,然后将两个临时表合并到一个表中


我的问题是:对于所有这些计算,有些需要基于平均数的计算、计数、求和等,它们总共至少有10个新列。我面临的问题是构造一个查询,该查询将允许我从表中实现这些计算,并实现我想要的结果。有人能帮忙处理这个复杂的查询和它的结构吗?

一个数据样本可能会有所帮助。如果适用,我建议使用T-SQL的窗口函数来进行聚合。窗口函数允许您执行这些聚合,而无需执行多个分组。当需要在不同的组上聚合数据时,这非常有用,因为它允许您在一个查询中执行所有聚合,而不必编写一个查询,而不必编写多个查询,所有查询都使用不同的GROUP BY

下面是指向T-SQL中基本窗口函数的链接。

在对数据集执行多个聚合时,公共表表达式(CTE)也非常有用,因为它们允许您更好地对查询进行逻辑排序,以提高可读性。您创建的每个CTE都可以引用它上面创建的任何CTE,这允许您在生成最终输出之前将多个CTE链接在一起

下面是一些基本CTE示例的链接(有关使用多个CTE的信息,请参见示例C)。


希望这些帮助。

Hi@rhholt,感谢您的回复!我不知道“with”的说法,我认为这将是我目前情况下最好的方法,所以我要试一试。我无法像上面所说的那样查询特定的集合,这肯定会有所帮助。谢谢