我有 tableA 并想向其添加计数列,计数是 tableA 的总行数并且结果表中的所有行都相同,tableA 如下所示:
- 注意:表A是其他查询的结果
表A
id | name | rank |
-------------------
1 | John | 12 |
2 | Maria | 18 |
3 | Steph | 44 |
4 | Jay | 17 |
结果应该是:
id | name | rank | total | rank/total
---------------------------------------
1 | John | 12 | 4 | 3
2 | Maria | 18 | 4 | 4.5
3 | Steph | 44 | 4 | 11
4 | Jay | 17 | 4 | 4.25
如何用 MYSQL 做到这一点
最佳答案
要获取表格中的总行数,请执行以下操作:
SELEcT count(*) FROM TableA
然后,您可以将此查询组合到另一个查询的 SELEcT
中,并从中进行计算,结果如下:
SELEcT *, (SELEcT count(*) FROM TableA) AS total, rank / (SELEcT count(*) FROM TableA) AS 'rank/total'
FROM tableA
如果 tableA 是另一个查询的结果,则执行
SELEcT *, (SELEcT count(*) FROM TableA) AS total, rank / (SELEcT count(*) FROM TableA) AS 'rank/total'
FROM ( insert_the_other_query_here ) tableA
关于mysql - mysql如何向表中添加计数列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36678504/