sql - 选择其他列的值相等的对

标签 sql postgresql

如何从下表中选择一对(数字,数字),其中两个数字的 tabid 相等(即:数字 7 和 11 具有相同的 tabid):

   tabid  |  number
 ---------+--------
     1    |   6
     1    |   6
     2    |   7
     3    |   8
     4    |   8
     5    |   10
     5    |   11
     6    |   12
     6    |   11
     5    |   6
     4    |   7
     3    |   8
     2    |   11

结果应该是:

   number |  number
 ---------+--------
     7    |   11
     7    |   8
     10   |   11
     11   |   12
     6    |   10
     6    |   11

最佳答案

这是您要找的吗:

select
  t1.number, t2.number
from t t1, t t2
where t1.tabid = t2.tabid
and t1.number < t2.number;

产生:

    NUMBER     NUMBER
---------- ----------
         6         10 
         6         11 
         7          8 
         7         11 
        10         11 
        11         12 

关于sql - 选择其他列的值相等的对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41510023/

相关文章:

mysql - 数据库设计 - 此约定的名称?

sql - 有向无环图 : find all paths from a specific node

php - 如何在变量中存储单个选定的行值?

sql - 在 INNER JOIN - SQL 中使用 MAX

postgresql - 不创建外部表可以查询外部服务器吗?

sql - 获取 n 个分组类别并将其他类别加总为一个

sql - 如何在postgresql中按周分组

node.js - ECONNREFUSED for Postgres on nodeJS with dockers

postgresql - 如何使用 PGADMIN 9.6 在 postgreSQL 中只备份所有函数?

postgresql - 错误 : unterminated quoted string at or near