在MySQL中选择Pairs

时间:2013-07-08 20:38:56

标签: mysql

有一个表格,其中某些行来自具有匹配GUID的夫妇。只是想知道如何从表中选择所有数据,但仅限于行与匹配的GUID一起存在。

3 个答案:

答案 0 :(得分:2)

您可以使用以下查询:

SELECT *
FROM yourtable
WHERE GUID IN (SELECT GUID FROM yourtable GROUP BY GUID HAVING COUNT(*)=2)

子查询将返回所有出现两次的GUID,外部查询将返回与这些GUID关联的所有行。

请参阅小提琴here

答案 1 :(得分:2)

尝试这样的事情:

SELECT t1.*
FROM
   table t1
 , table t2
WHERE
     t1.guid = t2.guid
 AND t1.id <> t2.id
;

表格:您的表格名称

id:您知道的某些字段对于两行都不同

答案 2 :(得分:1)

尝试

SELECT t.* 
  FROM Table1 t JOIN
(
  SELECT guid
    FROM Table1
   GROUP BY guid
  HAVING COUNT(*) = 2
) q ON t.guid = q.guid

这是 SQLFiddle 演示