SQL选择具有相同列值的条目

时间:2013-05-25 00:56:02

标签: sql

想象一下,我有一个这样的专栏:

Var: 1, 1, , 3, 2
-
Name: Ben, John, Josh, Bill

如何选择具有相同VAR列值的条目?比如,如果我想在1列中输入值为VAR的条目,它会给我BenJosh

3 个答案:

答案 0 :(得分:0)

尝试

SELECT name
  FROM table1
 WHERE var IN (SELECT MIN(var)
                FROM table1
               GROUP BY var
              HAVING COUNT(*) > 1)

这是 SQLFiddle 演示。

答案 1 :(得分:0)

这将为您提供具有相同VAR的多个记录的记录。

SELECT  a.*
FROM    TableName a
WHERE   EXISTS
        (
            SELECT  1
            FROM    TableName b
            WHERE   a.Var = b.Var
            GROUP   BY Var
            HAVING  COUNT(*) > 1
        )

解决此问题的另一种方法是使用JOIN

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

但是当你添加这一行时会增加一些混乱:“..如果我想在VAR列中输入值为1的条目,它会给我:Ben和Josh” - 你想要吗?是否指定VARLike this demo <<

答案 2 :(得分:0)

这个问题令人困惑,选择不起作用吗?

select name from theTable
where var = 1