Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 根据相关性查找数据,然后从diff域中获取2个结果_Mysql_Sql_Greatest N Per Group_Mysql Error 1054 - Fatal编程技术网

Mysql 根据相关性查找数据,然后从diff域中获取2个结果

Mysql 根据相关性查找数据,然后从diff域中获取2个结果,mysql,sql,greatest-n-per-group,mysql-error-1054,Mysql,Sql,Greatest N Per Group,Mysql Error 1054,例如,我的数据库中有很多域名 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.

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

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
我需要对它们进行排序,首先是雅虎的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'); 它显示错误


但是Teet是我的URL2表中的一列,MySQL没有分析函数,这是每个分组获得两个条目所需要的。另一个痛苦是www.complexies定位第二阶段

使用:


@OMG:我们可以通过找到域名,wht是x.domainname,x.rank,t。domainname@Alex马修:谢谢,更新了。x是派生表/内联视图的表别名。它的使用方式与派生表/内联视图中的t别名相同…@OMG:我的表名是url2,保存url的冒号是url,你能重写SQL吗?@Alex Mathew:我不明白你所说的匹配是什么意思,它显示错误-什么错误?您能否更新该问题以显示您如何尝试使用有关匹配的查询?@Alex Mathew:派生表仅包含两列url和rank。假设它们存在于URL2表中,您需要在派生表中公开它们,以便它们对您列出的FTS MATCH/ANTH子句可见-请参阅更新。 Query : SELECT x.url FROM (SELECT t.url, CASE WHEN @domain = SUBSTRING_INDEX(t.url, '/', 1) THEN @row... Error Code : 1054 Unknown column 'teet' in 'where clause'
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