![](/img/trans.png)
[英]How to get a row count of another table, using SELECT column as a WHERE clause using MySQL
[英]How to get highest occuring value from table using another column as a multiplier instead of row count MySQL
假設有一個
dataset(col1,col2)
with values (1000,1),(1,2),(1,2),(1,2),(1,2),(1,2),(1,2),(999999,3)
. 這是您可以復制粘貼的查詢:
create temporary table tb4 (a INT,b INT);
INSERT INTO tb4(a,b)values(1000,1),(1,2),(1,2),(1,2),(1,2),(1,2),(1,2),(199999,3);
Select avg(tb4.b) from tb4;
這里我想得到 3. 怎么做? 正如您在此設置中看到的 AVG 返回 2 因為它確實是最常見的值。 但我希望它將 'a' 視為“行數”並返回 3,就好像表中存在 'a' 列行的數量(可以這么說)基本上使用名為 'a' 的列作為“常見的“-ity增加器。 但是我不知道如何在查詢中做到這一點。 謝謝
我懷疑你想要一個加權平均值。 你可以做:
select sum(x * y * 1.0) / sum(x)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.