数据库联合查找

本文通过一系列SQL查询语句展示了如何从复杂的数据表中筛选特定条件下的记录,包括去除重复记录、按时间排序等操作,对于理解数据库查询优化及提高查询效率具有较高的参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


-- SELECT * FROM t_videoTalkRecord;


-- SELECT * FROM t_videoTalkRecord WHERE id IN (SELECT  max(id) 
--  FROM  t_videoTalkRecord  GROUP BY userId  HAVING count(*) >= 1) AND 
-- currentLoginUserId = '9999' AND recordType = 3 ORDER BY currentRecordSaveTimeStamp DESC;




-- SELECT * FROM t_videoTalkRecord WHERE id IN (SELECT  max(id)  FROM  
-- t_videoTalkRecord  GROUP BY userId  HAVING count(*) >= 1) AND currentLoginUserId = '9999' 
-- AND recordType = 3 ORDER BY currentRecordSaveTimeStamp DESC;


-- SELECT * FROM t_videoTalkRecord WHERE id IN (SELECT  max(id)  FROM  
-- t_videoTalkRecord  GROUP BY userId  HAVING count(*) >= 1) AND currentLoginUserId = '9999' 
-- AND recordType = 3;


-- SELECT * FROM t_videoTalkRecord WHERE userId IN(SELECT * FROM t_videoTalkRecord WHERE id IN (SELECT  max(id)  FROM  
-- t_videoTalkRecord  GROUP BY userId  HAVING count(*) >= 1) AND currentLoginUserId = '9999' 
-- AND recordType = 3);


-- SELECT  max(id)  FROM  
-- t_videoTalkRecord  WHERE currentLoginUserId = '9999' GROUP BY userId  HAVING count(*) >= 1
-- 
-- SELECT  *  FROM  
-- t_videoTalkRecord  WHERE currentLoginUserId = '9999' AND recordType = 2 GROUP BY userId  HAVING count(*) >= 1




-- SELECT max(id) FROM  
-- t_videoTalkRecord  WHERE currentLoginUserId = '9999' AND recordType = 2 GROUP BY userId  HAVING count(*) >= 1


-- //查找去过重的未接记录
-- SELECT * FROM t_videoTalkRecord WHERE id IN (SELECT max(id) FROM  
-- t_videoTalkRecord  WHERE currentLoginUserId = '9999' AND recordType = 2 GROUP BY userId  HAVING count(*) >= 1) AND 
-- currentLoginUserId = '9999' AND recordType = 2 ORDER BY currentRecordSaveTimeStamp DESC;


-- //好友关系去除重复
-- SELECT max(id) FROM  
-- t_videoTalkRecord  WHERE currentLoginUserId = '9999' AND recordType = 3 GROUP BY userId  HAVING count(*) >= 1
-- 
-- //查找好友去除重复 - 好友userid
-- SELECT userId FROM t_videoTalkRecord WHERE id IN (SELECT max(id) FROM  
-- t_videoTalkRecord  WHERE currentLoginUserId = '9999' AND recordType = 3 GROUP BY userId  HAVING count(*) >= 1) AND 
-- currentLoginUserId = '9999' AND recordType = 3;


-- //查找未接记录已经去重未接重复记录 并且 去除 非好友未接记录
-- SELECT * FROM (SELECT * FROM t_videoTalkRecord WHERE id IN (SELECT max(id) FROM  
-- t_videoTalkRecord  WHERE currentLoginUserId = '9999' AND recordType = 2 GROUP BY userId  HAVING count(*) >= 1) AND 
-- currentLoginUserId = '9999' AND recordType = 2) WHERE userId IN(SELECT userId FROM t_videoTalkRecord WHERE id IN (SELECT max(id) FROM  
-- t_videoTalkRecord  WHERE currentLoginUserId = '9999' AND recordType = 3 GROUP BY userId  HAVING count(*) >= 1) AND 
-- currentLoginUserId = '9999' AND recordType = 3);


-- //查找好友已经去重好友重复记录
SELECT * FROM (SELECT * FROM t_videoTalkRecord WHERE id IN (SELECT max(id) FROM  
t_videoTalkRecord  WHERE currentLoginUserId = '9999' AND recordType = 3 GROUP BY userId  HAVING count(*) >= 1) AND 
currentLoginUserId = '9999' AND recordType = 3) WHERE userId IN(SELECT userId FROM t_videoTalkRecord WHERE id IN (SELECT max(id) FROM  
t_videoTalkRecord  WHERE currentLoginUserId = '9999' AND recordType = 3 GROUP BY userId  HAVING count(*) >= 1) AND 
currentLoginUserId = '9999' AND recordType = 3) ORDER BY currentRecordSaveTimeStamp DESC;




-- SELECT * FROM t_videoTalkRecord WHERE id IN () AND 
-- currentLoginUserId = '9999' AND recordType = 2 ORDER BY currentRecordSaveTimeStamp DESC;






-- SELECT * FROM t_videoTalkRecord WHERE currentLoginUserId = '9999' AND recordType = 2;


-- SELECT userId FROM t_videoTalkRecord WHERE id IN (SELECT  max(id)  FROM  
-- t_videoTalkRecord  GROUP BY userId  HAVING count(*) >= 1) AND currentLoginUserId = '9999' 
-- AND recordType = 2;


-- SELECT  max(id)  FROM  
-- t_videoTalkRecord  GROUP BY userId  HAVING count(*) >= 1


-- SELECT userId FROM t_videoTalkRecord WHERE id IN (SELECT  max(id)  FROM  
-- t_videoTalkRecord  GROUP BY userId  HAVING count(*) >= 1) AND currentLoginUserId = '9999' 
-- AND recordType = 3


-- SELECT * FROM t_videoTalkRecord WHERE userId IN (SELECT userId FROM t_videoTalkRecord WHERE id IN (SELECT  max(id)  FROM  
-- t_videoTalkRecord  GROUP BY userId  HAVING count(*) >= 1) AND currentLoginUserId = '9999' 
-- AND recordType = 3);


-- SELECT * FROM t_videoTalkRecord WHERE id IN (SELECT  max(id)  FROM  
-- (SELECT * FROM t_videoTalkRecord WHERE userId IN (SELECT userId FROM t_videoTalkRecord WHERE id IN (SELECT  max(id)  FROM  
-- t_videoTalkRecord  GROUP BY userId  HAVING count(*) >= 1) AND currentLoginUserId = '9999' 
-- AND recordType = 2))  GROUP BY userId  HAVING count(*) >= 1) AND currentLoginUserId = '9999' 
-- AND recordType = 3 ORDER BY currentRecordSaveTimeStamp DESC;




-- SELECT * FROM t_videoTalkRecord WHERE userId IN(SELECT * FROM t_videoTalkRecord WHERE id IN (SELECT  max(id)  FROM  
-- t_videoTalkRecord  GROUP BY userId  HAVING count(*) >= 1) AND currentLoginUserId = '9999' 
-- AND recordType = 3 ORDER BY currentRecordSaveTimeStamp DESC);


-- SELECT * FROM t_videoTalkRecord WHERE userId IN (SELECT * FROM t_videoTalkRecord WHERE id IN (SELECT  max(id)  FROM  
-- t_videoTalkRecord  GROUP BY userId  HAVING count(*) >= 1));


-- SELECT * FROM t_videoTalkRecord WHERE id IN (SELECT  max(id)  FROM  
-- t_videoTalkRecord  GROUP BY userId  HAVING count(*) >= 1) AND currentLoginUserId = '9999' 
-- AND recordType = 3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值