2013-04-30 70 views
2

让我们假设我有以下的数据库表检索特定列具有相同值的条目的SQL查询是什么?

id Name 
1 X 
2 X 
3 X 
4 Y 
5 Z 
6 Z 

我想要做的是检索行name列有相同的价值观,不管名字是什么特别。换句话说,名称不会在SQL查询中输入。

结果表:

id Name 
1 X 
2 X 
3 X 
5 Z 
6 Z 

应该是什么这个SQL?

在此先感谢使用IN虽然我更喜欢JOIN

回答

1
SELECT a.* 
FROM tableName a 
     INNER JOIN 
     (
      SELECT Name 
      FROM TableName 
      GROUP BY Name 
      HAVING COUNT(*) > 1 
     ) b ON b.Name = a.Name 

SELECT * 
FROM tableName 
WHERE Name IN 
     (
      SELECT Name 
      FROM TableName 
      GROUP BY Name 
      HAVING COUNT(*) > 1 
     ) 
相关问题