【问题标题】:Assign the average of a column分配列的平均值
【发布时间】:2020-12-24 02:10:57
【问题描述】:

鉴于下表:

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

【问题讨论】:

  • 究竟是什么阻碍了您实现目标?
  • 我对 SQL 很陌生。我正在尝试一些东西,但它似乎不起作用。我想学习。
  • 至少显示一件您尝试过但不起作用的事情?这是帮助我们帮助您学习的最佳方式
  • 知道了。所以我发布了我尝试过的内容。下次我问问题时我会这样做。谢谢

标签: mysql sql select group-by count


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    • 2016-08-01
    • 2018-07-12
    • 2016-06-11
    • 2015-09-11
    • 1970-01-01
    相关资源
    最近更新 更多