面试题

作者: Shaun_lan | 来源:发表于2017-05-11 23:20 被阅读5次

一、人人车:

1.设计一个销售表,并给出SQL语句用来统计给定的时间段内,每人每天的销售额和销售总量。

create table sales {

           id int not null auto_increment,

           emp_id int not null,

           sale_time int not null,  # 使用时间戳表示,为了索引查找方便

           total dec(10,2),

          primary key(id),

          key(sale_time,emp_id)

}

--- 思路:

①每人每天的销售额和销售总量?

答:肯定得group by 每天,emp_id进行分组然后count(1),sum(total)就OK了

②核心在于每天怎么表示?

from_unixtime(sale_time,'%Y-%m-%d)

整体思路就是:先表示出每天每个人的记录,作为结果集a ,然后在对结果集a分组获得统计值

-- SQL语句:

假设开始时间戳为start,结束时间戳为end

select a.emp_id,a.time,count(1),sum(a.total) from ( select from_unixtime(sale_time,'%Y-%m-%d)  as time ,emp_id,total from sales where sale_time>=start and sale_time<=end ) as a group by a.time,emp_id oder by null;

-- 那么问题来了?

①每月/年 每人统计,怎么写?

②如果sale_time字段定义为datetime类型该怎么写?(提示:a.可以仿照上面写;b.不使用子查询而是直接在group by中使用year(sale_time),month(sale_time),day(sale_time),emp_id进行分组)

更多的时间函数参考:http://www.cnblogs.com/ggjucheng/p/3352280.html


相关文章

  • 面试材料

    面试经验 面试题1 面试题2 面试题3 面试题4 面试题5 面试题6――数据结构 面试题7――网络 面试题8――汇...

  • 高阶面试题

    webpack面试题 面试题:webpack插件 Git面试题 面试题:git常用命令 面试题:解决冲突 面试题:...

  • this的指向的面试题

    面试题1 面试题2 面试题3 面试题4

  • 面试所涉及的问题

    面试题参考1 : 面试题 面试题参考2 : 内存管理 面试题参考3 :面试题 ...

  • Android超实用最全面试大纲(三)

    文章目录: ANR面试题 OOM面试题 Bitmap面试题 UI卡顿面试题 内存泄漏面试题 内存管理面试题 一、A...

  • Android最全面试大纲(三)

    文章目录: ANR面试题 OOM面试题 Bitmap面试题 UI卡顿面试题 内存泄漏面试题 内存管理面试题 一、A...

  • 2022年web前端面试题

    web前端面试题分为:html/css面试题、javascript面试题、vue面试题、性能优化面试题、网络方面面...

  • ios面试题

    初级面试题 中级面试题 高级面试题 swift篇

  • Android超实用最全面试大纲(四)

    文章目录: 冷启动和热启动面试题 其他优化面试题 架构模式面试题 插件化面试题 热更新面试题 进程保活面试题 Li...

  • Android最全面试大纲(四)

    文章目录: 冷启动和热启动面试题 其他优化面试题 架构模式面试题 插件化面试题 热更新面试题 进程保活面试题 Li...

网友评论

      本文标题:面试题

      本文链接:https://www.haomeiwen.com/subject/beyatxtx.html