我对 SQL Server 相当陌生,并试图做一些看起来应该相当基本的事情,但我一定错过了一个重要的概念。
首先,这是故事:
- 我有表 X,其中包含订单中的行项目
- 我有表 Y,其中包含订单本身
我想将订单项数除以订单数,从而生成平均订单的订单项数。
我尝试了几个选项:
我尝试将两个表连接在一起,然后将 X 的 count() 除以 Y 的计数。不幸的是,通过 X 到 Y 它为每个 Y 创建一个条目,因此除法的结果是一个。
select count(x) / count (y) from x join y
我尝试通过计算“不同”订单而不是不同的订单项来使选择语句的一半“不同”。事实证明,您不能使选择语句的一半不同。
select count(x) / distinct count (y) from x join y
我尝试制作一个新表,并将订单数的总和输出到新表中。然后我尝试将行项目数除以该表的值。除非我将表格连接在一起,否则这不起作用,这让我回到了原来的问题。
select count(x) / temptable from x join temptable
我尝试查找如何将
SQL
语句输出到变量,以便我可以使用该变量进行除法,但无处可去。我已经仔细阅读了许多暗示这个问题但实际上并没有解决它的堆栈溢出帖子。
任何帮助将不胜感激!