首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql --选择平均值最高的不同客户端代码

问Mysql --选择平均值最高的不同客户端代码
EN

Stack Overflow用户
提问于 2012-10-31 11:15:23
回答 4查看 115关注 0票数 0

我有一个mysql表,其中存储了客户端的星级,如下所示:

ref,客户代码,日期,注释,星星

相同的客户端代码可以多次出现。

我需要选择不同的客户代码和最高的平均星星数。有什么建议怎么得到这个吗

EN

回答 4

Stack Overflow用户

发布于 2012-10-31 11:28:27

代码语言:javascript
复制
SELECT
    t1.clientcode clientcode,
    t2.sum sum,
    t3.count count,
    CASE t3.count WHEN 0 THEN 0 ELSE t2.sum / t3.count END average
FROM
    t1
    LEFT JOIN
    (
        SELECT
            clientcode, 
            SUM(stars) sum
        FROM t1
        GROUP BY clientcode
    ) t2 ON t1.clientcode = t2.clientcode
    LEFT JOIN
    (
        SELECT
            clientcode, 
            COUNT(stars) count
        FROM t1
        GROUP BY clientcode
    ) t3 ON t1.clientcode = t3.clientcode
票数 1
EN

Stack Overflow用户

发布于 2012-10-31 11:20:15

代码语言:javascript
复制
SELECT 
    t1.* 
FROM 
    table t1 
WHERE 
    t1.stars IN 
    (
        SELECT 
            MAX(t2.stars) 
        FROM 
            table t2 
        WHERE  
            t2.clientcode = t1.clientcode
    )
票数 0
EN

Stack Overflow用户

发布于 2012-10-31 11:28:01

这将显示不同客户端代码的恒星平均值。

代码语言:javascript
复制
SELECT avg(stars) from t1 group by clientcode;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13156627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档