如何找到AVG给出了一些SQL指令

如何找到AVG给出了一些SQL指令,sql,Sql,我试图创建一个查询,返回Market.name和为特定市场工作的员工平均数,例如,与所有市场中的所有员工总数相比,为“宜家”工作的员工平均数为10% 您需要这样一个带有连接的SQL语句 select m.name market_name, 100*round(count(w.employee_id)::decimal/ (select count(employee_id) from employee ),2) a

我试图创建一个查询,返回Market.name和为特定市场工作的员工平均数,例如,与所有市场中的所有员工总数相比,为“宜家”工作的员工平均数为10%


您需要这样一个带有连接的SQL语句

   select m.name market_name,
           100*round(count(w.employee_id)::decimal/
                (select count(employee_id) from employee ),2)
            as "Avg Percent of Emp. Per Market"
      from workson w
      left join market m on ( m.market_id = w.market_id )
    where m.name = 'IKEA' 
    group by m.name;
我不知道你的数据库管理系统,我试过如果它是Postgres,删除::decimal如果是MySQL

试试这个

select m.name as "Market Name",
   avg(w.employee_id) as "Avg.NumberofEmployeesPerMarket"
from workson w
left join employee e on ( e.employee_id = w.employee_id )
left join market m on ( m.market_id = w.market_id )
group by m.name;

提示:这样的查询以
SELECT
开始,并将使用
JOIN
groupby
。你尝试过什么吗?我尝试过子查询,但没有成功,所以我正在寻找其他方法,我假设有更简单的方法,但现在我找不到一种方法。你想要在市场上工作的平均员工数还是员工数。我必须找到为特定市场工作的平均员工数,例如,与所有高端市场相比,为“宜家”工作的员工的平均比例为10%。也许我没有解释清楚,问题是:对于每个市场,找出为其工作的参与员工的百分比“宜家”。返回任务名称和相应的百分比此查询返回市场名称及其拥有的员工人数,不是为给定市场工作的员工的平均人数,而是员工为市场工作的条件是什么“IKEA”@Gabrielenones好的,我刚刚添加了“where m.name=‘IKEA’”也许我没有解释清楚,问题是:对于每个市场,找出为“宜家”工作的参与员工的百分比。返回任务名称和相应的百分比。