0

我想显示column3 = 'ffff-jhj-01'与 column1 不同的值。

Select distinct(name),phone,phone_id 
FROM `calldetails` 
where phone_id='ffff-jhj-01'

我已经尝试过上面的查询,但它只显示column3 = 'ffff-jhj-01'名称不同。

4

2 回答 2

1

如果您想要所有带有 distinct 子句的列,请尝试此查询

Select distinct(name),phone,phone_id FROM `calldetails` 
where 
phone_id='ffff-jhj-01' 
GROUP BY name

Group by 将为您提供不同的第一列,但请记住,您不会获得第二列的不同数据。

对于这种情况,您甚至不需要 distinct 子句,您可以单独使用 Group by 获得相同的输出,例如

Select name,phone,phone_id FROM `calldetails` 
where phone_id='ffff-jhj-01' 
Group by name 

两个查询的输出如下

在此处输入图像描述

而如果你不使用 Group by,

Select distinct(name),phone,phone_id FROM `calldetails` 
where 
phone_id='ffff-jhj-01' 

那么输出将如下

在此处输入图像描述

此外,您可以使用以下查询获取电话的所有变体详细信息,即第 2 列

SELECT name, GROUP_CONCAT( phone ) , phone_id
FROM  `calldetails` 
WHERE phone_id =  'ffff-jhj-01'
GROUP BY name
LIMIT 0 , 30

在此处输入图像描述

但是电话字段应该是 text/varchar 字段

于 2013-11-06T07:06:16.163 回答
0

尝试:

Select distinct(name),phone,phone_id FROM `calldetails` where phone_id='ffff-jhj-01'
于 2013-11-04T12:20:29.340 回答