sql - 我可以对检索到的数据集中的每个元组使用 MAX 函数吗

标签 sql mysql

我的表格result 包含字段:

id    count
____________
1     3
2     2
3     2

根据这张表,我必须形成另一个表score,它应该如下所示

id    my_score
_____________
1     1.0000
2     0.6667
3     0.6667

那是 my_score=count/MAX(count) 但如果我将查询作为

create TEMPORARY TABLE(select id,(count/MAX(count)) AS my_score from result);

只检索到第 1 行。

任何人都可以建议查询以便为所有元组计算 my_score。

提前致谢。

最佳答案

SELECT
    a.ID,
    a.count / b.total
FROM result as A
   CROSS JOIN (SELECT MAX(Count) AS Total From Result) AS B

B 仅返回一行,因此您希望将表的笛卡尔积与其自身的聚合相乘以获得最终值。

关于sql - 我可以对检索到的数据集中的每个元组使用 MAX 函数吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2532806/

相关文章:

php - 在 zf2 左连接中应用多个条件

mysql - 如何删除重复记录但 Int 除外?

mysql - JOIN 语句的数量如何影响查询的持续时间/获取时间?我有一个简单的、反直觉的例子

sql - 如何知道当用户向表中插入一条新记录时,是否自动生成了表示表主键的字段值?

sql - 如何使用 Zend 框架编写子查询重构 WITH 子句?

sql - t-SQL 使用行号,但在重复的行上使用相同的数字

sql - 根据条件选择多个Hibernate import.sql

php - SQL 一次创建多个表

php - 将 javascript 代码重写为 php,难易程度如何

mysql - Laravel MySQL 仅在计划任务上出错(通过 cron)