MySQL:从大子查询规范化列

MySQL:从大子查询规范化列,mysql,Mysql,我有一个非常大的子查询: (SELECT Id, Count [...] FROM Something) Counts 我想为每个Id创建一个分数,即计数除以最大计数 我试过: SELECT Id, Count/(SELECT MAX(Count)) AS Score FROM (SELECT Id, Count [...] FROM Something) Counts 但这只返回第一行 如果我按Id分组,所有分数都等于1,因为每个Id取最大值,而不是所有Id 你知道我能做什么吗?我知道在

我有一个非常大的子查询:

(SELECT Id, Count [...] FROM Something) Counts
我想为每个Id创建一个分数,即计数除以最大计数

我试过:

SELECT Id, Count/(SELECT MAX(Count)) AS Score 
FROM (SELECT Id, Count [...] FROM Something) Counts
但这只返回第一行

如果我按Id分组,所有分数都等于1,因为每个Id取最大值,而不是所有Id


你知道我能做什么吗?我知道在某些情况下,我们可以在WITH子句中嵌入子查询,但这在MySQL中是无效的。

我相信这就是您需要的:

选择Id,Count/从某物中选择MAXCount作为从某物中选择[Score]

说明:
我相信你想把表上所有的数字都记下来。为此,您需要对整个表集执行子查询,而不是将其限制为特定id或对其进行分组。当您通过对ID进行操作来执行分组时,假设每个ID都是唯一的,它实际上返回了ID,Count/Count。正如您所知,任何非零数字除以它本身就是1。

在描述您的问题时,您是否可以稍微不准确一点,因为如果您这样做,我们甚至可以理解您试图做什么。问题是子请求非常大。我并不是简单地从某物上取身份证和计数。有很多中间步骤,需要5或6行,我不想复制/粘贴。