php面试题
来源:互联网 发布:淘宝白菜网 编辑:程序博客网 时间:2024/06/10 21:41
抢沙发数据统计。
假设我们有一个文章系统,每个文章都可以被留言。
留言据保存在 comments 表中。comments表结构如下
字段名
含义
comment_id
留言id(主键)
article_id
被留言的文章的id
uid
写此留言的用户id
nickname
用户昵称
write_time
写留言的时间
抢沙发的定义:
给定一个开始时间 T1,结束时间 T2
如果一个留言是某文章的前5个留言,且留言时间介于T1和T2之间,则认为满足抢沙发条件(另一种等价描述:对于每篇文章的前5个留言中,其中留言时间介于T1和T2之间的留言符合抢沙发条件)。
要求:在给定开始时间T1和结束时间T2的情况下,统计出所有抢沙发成功的用户一共抢到多少个沙发(按抢到沙发的总数逆序排序)。例如:
用户昵称
满足抢沙发的留言总数
小明
32
小刚
25
小红
4
小白
1
小兰
1
编程过程中可以对一些外部条件作出假设(例如假设直接调用mysql查询得到结果),写出主要逻辑即可。
答案:
SELECTnickname 用户呢称, count(*) 满足抢沙发的留言总数FROMcomments AS aWHERE(SELECTCOUNT(*)FROMcomments AS bWHEREa.article_id = b.article_id AND a.comment_id > b.comment_id) < 5AND a.write_time >= '2012-09-17 00:00:00'AND a.write_time <= '2012-09-18 23:59:59'GROUP BY nicknameORDER BY 满足抢沙发的留言总数 DESC
- PHP面试题
- PHP面试题
- PHP编程面试题
- php面试题
- PHP新手面试题
- php面试题三
- php面试题四
- PHP面试题五
- php面试题
- PHP面试题
- PHP面试题汇总
- PHP面试题
- PHP面试题汇总
- php面试题汇总
- php 面试题
- YAHOO--PHP面试题
- PHP面试题
- 腾讯面试题PHP
- 路由策略之---ACL、前缀路由、route-map
- 将ArcGIS API for javascript的离线包部署在Tomcat下
- ORACLE经典的SQL语句收录
- UINavigationItem表示UINavigationBar中的控件
- startActivityForResult用法
- php面试题
- 单例模式与双重检测(Double-Checked Locking, DCL)
- 四、从XML读取数据表格
- SQL NULL 函数
- java利用classloader加载资源
- 对被请求-节点多播地址(solicited-node multicast address) 的理解
- c#的DateTime.Now函数详解
- SQL范式规则
- Socket Select