在名为devices的表中有一个与此类似的列表:
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-设备名称相似(仅用于控制)的所有设备的列表。类似地,我指的是名称相同的设备。两者之间的不同之处在于括号中的内容。因此,例如,查询应将bbbbbbb,bbbbbbb(1)和bbbbbbb(2)列为“相似”。
在此列表中为:
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
我尝试了很多事情,但都没有成功。有什么想法吗?
答案 0 :(得分:1)
嗯。 。 。这似乎可以满足您的要求:
sdk v4
这会寻找一个相似的设备名称,后跟一个空格。
答案 1 :(得分:1)
您的第一个要求,使用having
子句
select * from devices where exists
(select devicename from devices
group by devicename
having count(1) > 1)
对于您的第二个要求,只需添加where
子句
select * from devices where exists
(select devicename from devices
group by devicename
having count(1) > 1)
where icon_color = 'icon_red'