gpt4 book ai didi

mysql - 根据相关性查找数据,然后从不同域中获取 2 个结果

转载 作者:可可西里 更新时间:2023-11-01 08:38:07 24 4
gpt4 key购买 nike

例如,我的数据库中有很多域名

www.yahoo.com/duniya.html
www.yahoo.com/hero.html
www.123musiq.com/
www.123musiq.com/home.html
www.123musiq.com/horo.html
www.123musiq.com/yuva.html
www.sensongs.com/
www.sensongs.com/hindi.html
www.sensongs.com/yuva.html
www.sensongs.com/duniya.html
www.sensongs.pk/duniya1.html

我需要对它们进行排序,首先是来自 yahoo 的 2 个,然后是来自 123musiq 的 2 个,然后是来自 sensongs 的 2 个。我怎样才能做到这一点?在 MySQL 或 PHP 中?我知道获取域名,我需要知道如何从每个域中对 2 进行排序?
我正在使用匹配方法

期望输出

     www.yahoo.com/duniya.html    www.yahoo.com/hero.html    www.123musiq.com/    www.123musiq.com/home.html    www.sensongs.com/    www.sensongs.com/hindi.html  

我使用以下代码
SELECT x.url  FROM (SELECT t.url,               CASE                  WHEN @domain = SUBSTRING_INDEX(t.url, '/', 1) THEN @rownum := @rownum + 1                 ELSE @rownum := 1               END AS rank,               @domain := SUBSTRING_INDEX(t.url, '/', 1)          FROM URL2 t          JOIN (SELECT @rownum := 0, @domain := '') r      ORDER BY SUBSTRING_INDEX(t.url, '/', 1)) X WHERE x.rank <= 2 AND MATCH(teet,url,html) AGAINST ('account');

它显示错误
Query : SELECT x.url   FROM (SELECT t.url,                CASE                   WHEN @domain = SUBSTRING_INDEX(t.url, '/', 1) THEN @row...Error Code : 1054Unknown column 'teet' in 'where clause'

但 Teet 是我的 URL2 表中的一列

最佳答案

MySQL 没有分析函数,这是您获取每个分组的两个条目所需要的。另一个痛苦是“www”。使第二个周期的定位变得复杂...

使用:

SELECT x.url
FROM (SELECT t.url,
t.teet,
t.html,
CASE
WHEN @domain = SUBSTRING_INDEX(t.url, '/', 1) THEN @rownum := @rownum + 1
ELSE @rownum := 1
END AS rank,
@domain := SUBSTRING_INDEX(t.url, '/', 1)
FROM URL2 t
JOIN (SELECT @rownum := 0, @domain := '') r
ORDER BY SUBSTRING_INDEX(t.url, '/', 1)) x
WHERE x.rank <= 2

关于mysql - 根据相关性查找数据,然后从不同域中获取 2 个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3528102/

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