例如,我的数据库中有这么多域名
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 个来自 yahoo,然后是 2 个来自 123musiq,然后是 2 个来自 sensongs。我怎样才能做到这一点?在 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
我使用以下代码
选择 x.url FROM(选择 t.url, 案子 当@domain = SUBSTRING_INDEX(t.url, '/', 1) 那么@rownum := @rownum + 1 否则 @rownum := 1 END AS 排名, @domain := SUBSTRING_INDEX(t.url, '/', 1) 从 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) 反对 ('account');
它显示错误
查询: SELECT x.url FROM (SELECT t.url, CASE WHEN @domain = SUBSTRING_INDEX(t.url, '/', 1) THEN @row... 错误代码:1054 'where 子句'中的未知列'teet'
但是 Teet 是我的 URL2 表中的一列