网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月26日漏签0天
mysql吧 关注:58,425贴子:135,621
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 7回复贴,共1页
<<返回mysql吧
>0< 加载中...

mysql查询问题

  • 只看楼主
  • 收藏

  • 回复
  • qiude_2001
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
下面是表结构
CREATE TABLE `relation` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`playerid` int(11) DEFAULT NULL,
`friendid` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
)
里面有这么几条数据

假设我是10012,我想看10011的friend,并且得到10011的friend是否是也是自己的friend,sql怎么写呢?
想得到的结果如下:

求指教


  • 追风木剑
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我表示没看懂


2025-12-26 11:52:25
广告
不感兴趣
开通SVIP免广告
  • 珍珠胖子
  • 人海孤鸿
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
select * from relation where playerid=10011 and friendid=(select friendid from relation where playerid=10012)


  • 志源7
  • 无名之辈
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
先上代码
DROP TABLE IF EXISTS `r`;
CREATE TABLE IF NOT EXISTS `r` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`用户` VARCHAR(11) DEFAULT NULL,
`朋友` VARCHAR(11) DEFAULT NULL,
PRIMARY KEY (`id`)
);
TRUNCATE TABLE `r`;#清空表
INSERT INTO `r`(`id`,`用户`,`朋友`) VALUES(1,'用户1','用户3'),(2,'用户1','用户4'),(3,'用户2','用户3');
#INSERT INTO `r`(`id`,`用户`,`朋友`) VALUES(1,'用户2','用户3'),(2,'用户1','用户4'),(3,'用户1','用户3');
#查询用户1的朋友有哪些,并且判断用户1的朋友是否是用户2的朋友
SELECT `id`,'用户1' AS `用户`,`朋友` ,
CASE WHEN COUNT(`朋友`)=2 THEN '是' ELSE '不是'END
AS `是否是用户1和用户2的朋友`
FROM `r` WHERE`用户` IN('用户1','用户2')
GROUP BY `朋友`;


  • 志源7
  • 无名之辈
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
思路:
1、查出用户1和用户2的朋友。确定条件是`用户` IN('用户1','用户2')
2、如果同时是用户1和用户2的朋友,那用聚合函数count得到的会是2。确定需要聚合函数cout和group by,以及条件语句case when。
3、写出代码。
4、检查语法错误,确定结果符合预期。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 7回复贴,共1页
<<返回mysql吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示