首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有相同记录出现两次的自连接

没有相同记录出现两次的自连接
EN

Stack Overflow用户
提问于 2014-11-18 15:09:13
回答 1查看 147关注 0票数 0

我需要帮助来编写SQL和上下文是,

-sample数据如下:

代码语言:javascript
复制
    a,b, count
    1,2, 10 
    4,5, 20 
    2,1, 5 
    5,4, 6
    6,7, 10 

--逻辑:

A和b的行与其相反的行,即b和a(其中a=b和b=a)匹配。例如,对于1,2行,2,1行被颠倒,并且它们之间预期的总计数为15

预期结果集:

代码语言:javascript
复制
 1,2 15
 4,5,26
 6,7,10

或2,1,15 4,5,26 6,7,10

任何简单的SQL都能得到预期的结果,这会很有帮助。

EN

回答 1

Stack Overflow用户

发布于 2014-11-18 15:17:21

使用自连接:

代码语言:javascript
复制
mysql> create table test (a integer, b integer, count integer);
Query OK, 0 rows affected (0.00 sec)

mysql> insert into test values(1,2,10);
Query OK, 1 row affected (0.00 sec)

mysql> insert into test values(4,5,20);
Query OK, 1 row affected (0.00 sec)

mysql> insert into test values(2,1,5);
Query OK, 1 row affected (0.00 sec)

mysql> insert into test values(5,4,6);
Query OK, 1 row affected (0.00 sec)

mysql> SELECT distinct a.a,  a.b,a.count + b.count from test a
          join test b on a.a = b.b where a.a< a.b;
+------+------+-------------------+
| a    | b    | a.count + b.count |
+------+------+-------------------+
|    1 |    2 |                15 |
|    4 |    5 |                26 |
+------+------+-------------------+
2 rows in set (0.00 sec)

mysql>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26988542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档