首页 > 解决方案 > 分配列的平均值

问题描述

鉴于下表:

HomeID  | Device
a       | Mac1
b       | Win1
a       | Win2
c       | Android1
a       | Mac2
b       | Android2
d       | Win3

目标是找到家庭与设备的比率。例如,比率a应该是 1/3,因为它有 3 个设备指向它并且b应该是 1/2。

HomeID  | Avg
a       | 1/3
b       | 1/2
c       | 1
d       | 1

标签: mysqlsqlselectgroup-bycount

解决方案


您可以按 homeID 分组,然后比率是计数的倒数:

SELECT   HomeId, 1 / COUNT(*) AS avg
FROM     mytable
GROUP BY HomeId

推荐阅读