好吧,我有一個唯一的標識符,並且在一個點上,它們被克隆,以及與它們一起行。當substr大於1時獲取列的所有實例
爲了保留這些行(其中一些是合法的),我們取出給定id的最後3個字符,並給它三個新的字符。
我想要抓住所有其通過截短的ID的倍數標識的唯一標識符 - 例如:
ID 1:
ID 2:
我會喜歡看一下子字符串(在本例中是123456),並獲取包含它的兩個值。
這是我目前有:
select substr(uuid, 1, 33) as substring, uuid
from node
where uuid like concat('', substr(uuid, 1, 33), '%')
and count(substr(uuid, 1, 33)) > 1
但是我得到「無效使用組功能」。我應該使用group by
和having
嗎?我如何在這方面適當地使用它們?
我的目標是抓取具有uuid字段的給定子字符串的uuid字段中的每個項目不止一次。
因此,應該拉出並顯示包含另一個uuid所做的給定字符串(即,uuid中存在重複子字符串)的任何uuid。
該查詢,例如,讓我有我想要的UUID的字符串,但它並沒有給我的UUID自己:
select substr(uuid, 1, 33) as substring, uuid from node where uuid like concat('', substr(uuid, 1, 33), '%') group by substring having count(substring) > 1
我想用字符串相關的UUID,如例如:
子:
0e3c1fef-3958-436b-8e2b-0c6f7b7be
的UUID:
0e3c1fef-3958-436b-8e2b-0c6f7b7be212
0e3c1fef-3958-436b-8e2b-0c6f7b7be075
0e3c1fef-3958-436b-8e2b-0c6f7b7be981
所以基本上所有相關的UUID的一個子串的多個實例。
這個特定字符串的計數將在3
'count'是一個聚合函數,你的意思'length'? – Fabricator
'uuid LIKE CONCAT('%',substr(uuid,1,33),'%')'始終爲真。一列總是和自己一樣。 – Barmar
那麼我可能只想在右端%。但我更大的問題仍然存在。 –