gpt4 book ai didi

php - 如何选择不同的子字符串字段或删除重复字段

转载 作者:行者123 更新时间:2023-11-29 11:26:22 25 4
gpt4 key购买 nike

示例数据:

[{url: bing.com},
{url: bing.com/search?q=test},
{url: rt.com/test}]

目前我所做的是返回一个过滤后的网址,删除“/”之后的任何内容

SELECT url,
CASE WHEN LOCATE('/', url) THEN LEFT(url, LOCATE('/', url) - 1)
ELSE url END AS editedUrl
FROM testTable;

现在的输出结果是

url[0] = bing.com
url[1] = bing.com
url[2] = rt.com

我现在想做的是删除重复项,这意味着它只会返回 url[0]url[2],我尝试这样做

SELECT DISTINCT url,
CASE WHEN LOCATE('/', url) THEN LEFT(url, LOCATE('/', url) - 1)
ELSE url END AS editedUrl
FROM testTable;

但是,它会根据实际值而不是过滤后的值来比较 url。

请帮忙,谢谢。

最佳答案

您必须按编辑的 URL 进行分组:

SELECT MIN(url), 
CASE
WHEN LOCATE('/', url) THEN LEFT(url, LOCATE('/', url) - 1)
ELSE url
END AS editedUrl
FROM testTable
GROUP BY editedUrl

如果您只想要一个唯一的editedUrl:

SELECT DISTINCT 
CASE
WHEN LOCATE('/', url) THEN LEFT(url, LOCATE('/', url) - 1)
ELSE url
END AS editedUrl
FROM testTable

关于php - 如何选择不同的子字符串字段或删除重复字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38139927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com