たとえば、DBに非常に多くのドメイン名があります
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(SELECT t.url、 場合 WHEN @domain = SUBSTRING_INDEX(t.url、'/'、1)THEN @rownum:= @rownum + 1 ELSE @rownum:= 1 ランクとして終了、 @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');
エラーが表示されます
クエリ:SELECT x.url FROM(SELECT t.url、CASE WHEN @domain = SUBSTRING_INDEX(t.url、'/'、1)THEN @row .. .. エラーコード:1054 'where句'の不明な列'teet'
しかし、Teetは私のURL2テーブルの列です