首先,我答得不好,反思一下,基础不牢固。
题目是这样的:
表 User userid bigint
username varchar
表Message messageId bigint
fromUserid bigint
toUserid bigint
sendtime date
这是个发送聊天信息相关的两个表,现写出SQL语句,求出username = ‘TestUser’这个人最近联系的10个人(
包括发送的和接受的人)
我是没写出来(写了一个,现在想想肯定错了)。
各位看看,该怎么写这个SQL
我的答案;
select userid
from (
SELECT userid, max(sendtime)
FROM (SELECT T2.TOUSERID AS USERID, T2.SENDTIME
FROM t_USER T1, t_MESSAGE T2
WHERE T1.USERNAME = 'TestUser'
AND T1.USERID = T2.FROMUSERID
UNION all
SELECT T2.FROMUSERID AS USERID, T2.SENDTIME
FROM t_USER T1, t_MESSAGE T2
WHERE T1.USERNAME = 'TestUser'
AND T1.USERID = T2.TOUSERID
)
group by userid
order by max(sendtime) desc)
WHERE ROWNUM <= 10;
这里主要有几个细节:
1、要用UNION all,而不能用UNION。UNION all是全连接,把后面的直接全部加在前面一个的下面。UNION是去掉重复的然后在排序放在一起。
2、UNION中不能使用order by语句。
分享到:
相关推荐
网易程序笔试题
自己整理的SQLserver笔试题。 当做知识点记了 内附答案
2016校招网易游戏笔试题
2013网易校园招聘笔试题,适用于c++开发,客户端开发,移动平台开发等
亚信笔试题!!!!!亚信笔试题!!!!!亚信笔试题!!!!!亚信笔试题!!!!!亚信笔试题!!!!!亚信笔试题!!!!!
网易的经典校招面试笔试题,是你走进网易的很好资料。
这个笔试题对于新手来说绝对是好东西,请大伙放心下载
SQL_Server 面试笔试试题及答案 经典SQL数据库 DBA数据库管理员 数据库优化人员面试题
常见的SQL笔试选择题含答案.docx,常见的SQL笔试选择题含答案.docx 常见的SQL笔试选择题含答案.docx,常见的SQL笔试选择题含答案.docx
2010网易笔试题 2012网易笔试题等多套网易笔试题
千橡笔试题 人人笔试题!千橡笔试题 人人笔试题!千橡笔试题 人人笔试题!千橡笔试题 人人笔试题!千橡笔试题 人人笔试题!
网易校园招聘笔试 网易面试题 2009网易校园招聘笔试题 2010网易校园招聘笔试题 2011网易校园招聘笔试题 网易游戏2011.10.15校园招聘笔试题 2012网易校园招聘笔试题 2013网易实习生招聘笔试题 2013网易校园...
软件公司笔试题,这是我应聘时的笔试题,,SQL的。给大家分享,有答案
网易有道笔试题第一部分偏产品策划知识.doc
经典sql练习,几道经典的SQL笔试题题目。sql就在于多多练习
SQL笔试题库。
网易笔试题 网易笔试题 网易笔试题 网易笔试题 网易笔试题 网易笔试题
1到3年工作经验的 sql面试笔试题(通过面试360,华为,阿里收集)
SQL数据库笔试题........................................................................................