【问题标题】:What function can I use for data of select range?我可以对选择范围的数据使用什么功能?
【发布时间】:2021-05-25 18:11:43
【问题描述】:

我有一个员工数据库。有一个名为 EMPS 的表,在该表中有一个名为 Rate 的列。

create table EMPS (empnum int, dept varhcar(20), surname varchar(50), phone varchar(50), rate float)
Insert into EMPS values(84,'L','HARVEY','445-8874',16);
Insert into EMPS values(85,'M','RUNGE','445-8876',16);
Insert into EMPS values(86,'Na','GIBTIN','432-1190',16);
Insert into EMPS values(87,'Op','JAMES','432-9943',14);
Insert into EMPS values(88,'P','SAND','456-8833',14);
Insert into EMPS values(89,'Q','OTIS','432-9951',16);
Insert into EMPS values(90,'R','BYRON','457-9355',16);

我想从 EPMS 中选择平均费率值,其中 dept 介于 M 和 O 之间。如果有多个字母部门,例如 'Ma' 或 'Op' ,那么那些将被视为 M 或 O。

【问题讨论】:

  • 能否以文本格式提供示例数据和所需结果(没有漂亮的屏幕截图)
  • 请发布 SHOW CREATE TABLE emps 的 TEXT 结果;您想要报告 M 和 P 之间每个唯一部门代码的平均费率吗?
  • 84 L HARVEY SALLY 55 HILL NEWTON AB T5N8U8 445-8874 16.00 3 45.00 85 M RUNGE DAN 430 SOUTH NEWTON AB T5R5G7 445-8876 16.00 0 100.00 86 N GIBTIN AB T5N8U8 4504 SOUTH-11 T596 16.00 0 100.00 87 O James Nancy 90 North Edmonton AB T6J9I9 432-9943 14.00 2 50.00 88 P Sand Emma 67 Noble Morinville AB T0K0K0 456-8833 14.00 0 100.00 89 Q OTIS Rob 333 North Newton AB T5FY7H 432- 9951 16.00 1 100.00 90 R BYRON LANCE 9U CENTER NEWTON AB T0K3E3 457-9355 16.00 2 50.00 "这里 L,M,N,O,P 是部门名称,16.00、45.00 等数字是速率值。我试过“在 M 和 P 之间”不起作用
  • 请编辑您的问题以包含格式化数据。放置在 cmets 中很难理解,并且需要读者阅读您的问题和所有 cmets 以组合问题的完整图景。

标签: mysql sql database syntax mysql-workbench


【解决方案1】:

计算属于部门 M、N、O 或 P 的所有员工的平均比率。

select avg(rate) EMPRateCount from emps where left(dept,1)  in ('M','N','O','P');

并计算属于部门 M、N、O 或 P 的所有员工的平均比率,但它会显示部门明智的结果

     select avg(rate) EMPRateCount from emps where left(dept,1)  in ('M','N','O','P') 
group by department

【讨论】:

    猜你喜欢
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    相关资源
    最近更新 更多