我的表格数据为:
C1 || C2 || C3
-------------------
1 || user1 || 2
2 || user2 || 2
3 || user3 || 3
4 || user4 || 3
5 || user5 || 3
6 || user6 || 2
我想选择列C3相等值的所有行。
答案 0 :(得分:3)
使用派生表计算重复项,然后再加入到这个:
SELECT mt.*
FROM MyTable mt
JOIN
(
SELECT C3, COUNT(*)
FROM MyTable
GROUP BY C3
HAVING COUNT(*) > 1
) X
ON mt.C3 = X.C3;
显然,在您的示例中,所有用户至少有一个具有相同C3值的其他用户。
答案 1 :(得分:1)
只需进行分组并找出所需的C3值,然后选择它们
select *
from table
where c3 in
(
select c3, count(c1) as tot
from table
group by c3
having count(c1)>=2
)
答案 2 :(得分:0)
如果要在该列上获取具有特定值的行,请从表中选择*,其中c3 ='value' 如果你想一个接一个地获得具有相同c3的列出行 从表格组中选择*按c3
答案 3 :(得分:0)
如果要选择值为3
的行SELECT * FROM table WHERE C3=3;
或者您想要选择列C3包含值的行:
SELECT * FROM table WHERE C3 IS NOT NULL;