列出包含部分相同数据的行。部分并不总是相同

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了列出包含部分相同数据的行。部分并不总是相同相关的知识,希望对你有一定的参考价值。

我在称为设备的表中有与此类似的列表:

devicename   icon_color
Device1      icon_red
Device1 (1)  icon_green
sfsdfsd      icon_green
aaaaaaa (1)  icon_red
bbbbbbb      icon_green
bbbbbbb (1)  icon_red
bbbbbbb (2)  icon_red

我需要输出:

A-设备名称相似(仅用于控制)的所有设备的列表。在此列表中为:

devicename   icon_color
Device1      icon_red
Device1 (1)  icon_green
bbbbbbb      icon_green
bbbbbbb (1)  icon_red
bbbbbbb (2)  icon_red

B- A-的结果,但在icon_color='icon_red'上进行了过滤(这正是我在这里所需要的)。在此列表中为:

devicename   icon_color
Device1      icon_red
bbbbbbb (1)  icon_red
bbbbbbb (2)  icon_red

我已经尝试了很多事情而没有成功。有什么想法吗?

答案
这会寻找一个相似的设备名称,后跟一个空格。
另一答案
对于您的第二个要求,只需添加where子句

select * from devices where exists (select devicename from devices group by devicename having count(1) > 1) where icon_color = 'icon_red'

以上是关于列出包含部分相同数据的行。部分并不总是相同的主要内容,如果未能解决你的问题,请参考以下文章

mysql查询优化

python 两个list相同部分合并,不同部分列出,生成新的list

Java:从 InputStream 读取并不总是读取相同数量的数据

ORDER BY RAND() 总是在 IE 上给出相同的行

R中具有相同日期的行的迭代部分和

需要查询以列出两列相对相同的行,但需要注意 Postgresql