0

各ドメインの最長 URL を返す結合 SELECT ステートメントを作成しようとしています。link.page_href各ドメインの最長を取得するのを手伝ってくれる人はいますか?

Heres 私の現在の SELECT ステートメントです。

SELECT link.page_href, domain.domain_name
FROM `google_sort_backlink_domains` AS domain
JOIN `google_sort_backlinks` AS link ON link.domain_id = domain.id
WHERE domain.tablekey_id = 22

そして、スキームといくつかのテストデータを含む SQL Fiddle があります: http://sqlfiddle.com/#!2/b9c7b/7

今私は得る:

url, domain1
url, domain1
longest url, domain1
url, domain2
longest url, domain2

そして、私が欲しいのは

longest url, domain1
longest url, domain2
4

2 に答える 2

0

これを試して:

SELECT link.id, link.page_href, dom.domain_name
FROM( 
  SELECT domain.id, domain.domain_name, max( length( link.page_href )) max_len
  FROM `google_sort_backlink_domains` AS domain
  JOIN `google_sort_backlinks` AS link ON link.domain_id = domain.id
  WHERE domain.tablekey_id = 22
  GROUP BY domain.id, domain.domain_name
) dom
JOIN `google_sort_backlinks` AS link
ON  link.domain_id = dom.id
   AND length( link.page_href ) = dom.max_len

デモ ---> http://sqlfiddle.com/#!2/b9c7b/43

于 2013-09-18T19:22:47.300 に答える