从与第一条记录匹配的表中选择第二条记录

时间:2013-11-30 11:09:30

标签: php mysql match

如何选择第一条记录并与第二条记录匹配?!

Samlpe:

1- A
2- A
3- B
4- C

此代码匹配1和2,并返回TRUE

如何写查询?!

2 个答案:

答案 0 :(得分:2)

要获取第二列上具有重复值的行的ID,您可以执行以下操作:

SELECT t1.id,t2.id
FROM tab1 t1
INNER JOIN tab1 t2 ON t1.val = t2.val AND t1.id <> t2.id;

如果在第二列上至少有两行具有相同的值,则为TRUE,否则为FALSE,您可以这样做:

SELECT CASE 
    WHEN numEquals <> 0 THEN 'TRUE'
    ELSE 'FALSE' END AS HasEquals
FROM (
  SELECT COUNT(*) AS numEquals
  FROM tab1 t1
  INNER JOIN tab1 t2 ON t1.val = t2.val AND t1.id <> t2.id
  ) a

sqlfiddle demo

答案 1 :(得分:0)

基本的sql

SELECT * FROM table WHERE column1 = column2 LIMIT 1
在php中你可以做检查