寻找平均最高薪水

时间:2018-12-08 14:31:44

标签: mysql sql

使用给定的表格编写查询以查找所有销售人员中最高的平均销售额。

Table: Sales

Field       Type
InvoiceNo   Integer
SalesPerson Text
TotalSale   Integer

样品

InvoiceNo   SalesPerson  TotalSale
1           Acheson      50
2           Bryant       25
3           Bennett      250
4           Acheson      50
5           Bryant       100
6           Bennett      250

样本输出

max(totalsale)
250.0000

我尝试使用:SELECT MAX(TotalSale) FROM Sales。我的样本测试用例输出为250,但在线判断中给出错误答案。 另外,当我将查询更改为:SELECT MAX(TotalSale*1.0000) FROM Sales时,我得到了示例测试用例的正确答案,但其他测试用例的答案仍然错误。

这里的平均数是什么?查询应该是什么?

这也不是来自任何正在进行的竞争。它来自实践测试,您可以在这里尝试:https://www.hackerearth.com/challenge/test/kredx-data-analyst-test/

6 个答案:

答案 0 :(得分:2)

1。首先,您必须使用 AVG 函数计算每个 SalesPerson 的平均 TotalSale

string.Join()

2。从上述查询生成的表中找出最大值。

private void button1_Click(object sender, EventArgs e)
{
    if(string.IsNullOrWhiteSpace(textBox1.Text)) return;

    if(textBox1.Text[0] == 'a')
    {
        textBox2.Text = "Error";
        return;
    }

    textBox2.Text = string.Join(" ", textBox1.Text.ToCharArray());
}

答案 1 :(得分:1)

平均销售将使用avg()函数:

select salesperson, avg(totalsale) as avg_totalsale
from sales
group by salesperson;

可以使用order bylimit获得平均值的最大值:

select avg(totalsale) as avg_totalsale
from sales
group by salesperson
order by avg_totalsale desc
limit 1;

答案 2 :(得分:0)

这是回答这个问题的另一种方式:

select avg(TotalSale) 
from Sales 
group by SalesPerson 
order by totalSale desc limit 1;

输出:

avg(TotalSale)
250.0000

答案 3 :(得分:0)

根据销售人员订单(按MaxTotal desc LIMIT 1)从“销售”组中选择avg(TotalSale)作为MaxTotal

输出:MaxtTotal 250.0000

答案 4 :(得分:0)

SELECT max(avgsale.TotalSale) 
FROM (Select Cast(Round(Avg(TotalSale),2) as dec(10,4)) 'TotalSale' from Sales 
GROUP BY salesPerson) avgsale

答案 5 :(得分:0)

对@ gordon-linoff的答案进行了少量更改以通过示例测试用例。

sort(prop.table(table(games[,1])), decr = TRUE) # phase 1

# barcelona     madrid        psg       juve    mancity mancunited 
#    0.1797     0.1787     0.1687     0.1677     0.1663     0.1389

sort(prop.table(table(games[,1])), decr = TRUE) # phase 2

# madrid  barcelona       juve    mancity        psg mancunited 
# 0.1826     0.1755     0.1691     0.1670     0.1663     0.1395
select CAST(avg(totalsale) AS DECIMAL(16,4)) as avg_totalsale
from sales
group by salesperson
order by avg_totalsale desc
limit 1;

上面的部分将零的小数位限制为4。将250.00000000转换为250.0000