"SELECT distinct * from (select friendlist.srcid, friendlist.dstid FROM friendlist LEFT JOIN " + "(SELECT f1.srcId, f1.dstId FROM friendlist as f1 INNER JOIN friendlist as f2 ON f1.srcId = f2.dstId AND f2.srcId = f1.dstId) as t1 " + "ON friendlist.dstid = t1.dstid AND friendlist.srcid = t1.srcid where t1.srcid IS NULL) as t2 where t2.dstid = \"%s\";"
时间: 2024-03-15 21:42:41 浏览: 13
这是一个 SQL 查询语句,目的是查询出指定用户的所有朋友。具体实现方式是通过对 friendlist 表进行自关联,找出所有没有相互关注的用户,并将结果保存在 t2 表中,最终再从 t2 表中筛选出指定用户的所有朋友。其中,srcid 和 dstid 分别表示关注者和被关注者的 ID,%s 是一个占位符,需要通过程序传入具体的用户 ID。
相关问题
select count(*) from (select distinct * from 全量触达集.装移维 ) 错在哪里
这个 SQL 查询语句不太符合语法规范,会导致语法错误。主要问题有:
1. 子查询缺少别名:子查询必须指定一个别名,否则会出现语法错误。
2. DISTINCT 关键字使用不正确:DISTINCT 关键字应该放在 SELECT 关键字之后,而不是放在子查询之后。
正确的 SQL 查询语句应该是这样的:
```
SELECT COUNT(*) FROM (SELECT DISTINCT * FROM 全量触达集.装移维) AS t;
```
这个 SQL 查询语句的意思是,在全量触达集.装移维表中去重后,统计总行数。
select distinct * from user;
您好,感谢您对ChitGPT的信任。对于您的问题,它看起来像是一个SQL查询的语句。如果您想查询数据库中的user表中不重复的所有行,请在SQL查询的查询字段上使用DISTINCT关键字。正确的语法应该是:
SELECT DISTINCT * FROM user;
请注意,这只是一个示例,并且实际的语法可能会根据您的数据库管理系统略有不同。希望这可以回答您的问题。