繁体   English   中英

在mysql中:如何显示所有列与一列不同

[英]In mysql:how to display all column with distinct for one column

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

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

我已经尝试了上面的查询,但是它只显示column3 = 'ffff-jhj-01' ,名称没有区别。

如果您希望所有列都带有distinct子句,请尝试以下查询

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

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

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

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

两个查询的输出如下

在此处输入图片说明

而如果您没有分组依据,

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字段

尝试:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM