我想 Select 与所选值相同的所有行.例如:

id phone_num name
1 0123456789 VALUE 1
2 0123456789 VALUE 2
3 0987654321 VALUE 3

例如:我想 Select 号码1的ID电话号码,然后判断电话号码是uniqe还是重复的.

我try 了这个查询,但没有成功:

SELECT * 
FROM customers a, (SELECT b.phone_num as phone_search
                   FROM customers b
                   WHERE b.id = "1") AS total  
WHERE phone_num LIKE "%"|| total.phone_search ||"%" 

推荐答案

您应该在WHERE子句中使用子查询:

SELECT *
FROM customers
WHERE phone_num = (SELECT phone_num FROM customers WHERE id = 1);

更一般地说,如果您只想标记任何重复的数字,请使用聚合查询:

SELECT phone_num
FROM customers
GROUP BY phone_num
HAVING COUNT(*) > 1;

Sql相关问答推荐

如何使用PostGIS从单个表中 Select 所有相交面组

SQL使最终结果显示两个表后的所有数据(匹配和不匹配)?

在SQL中创建一个计数器,根据BigQuery/SQL中的条件递归地添加行值

在多个联合中使用相同的SELECT SQL查询

返回包含列和包含其他列的列表的自定义查询

每组显示一行(表1中的分组值),表2中的不同列表用逗号分隔

使用SQL创建列出两个时间戳之间小时数的列

数组列的postgres更新查询

在Postgres中合并相似的表

在PostgreSQL中汇总连接表中的 case 值

按行值出现的顺序对行值进行分组

Postgres,使用 select 插入多个值

如何用SQL组合客户拥有的产品

SQL for Smarties 类型问题:从表中 Select 记录,并对某些值进行分组

复制SQL Server临时表

如何将多行的查询结果合并为一行

当计数为 0 时显示行

如何在 SQL Server 中参数化 Select top 'n'

从 JSON 数组中移除对象

遍历数据,计算每个月最后三天的总和