0

我正在尝试创建一个加入的 SELECT 语句,该语句返回每个域的最长 URL。任何人都可以帮助我link.page_href为每个域获取最长的时间吗?

这是我当前的 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 回答
0

试试这个,

SELECT MAX(LENGTH(link.page_href)) GROUP BY domain_id

于 2013-09-18T19:20:13.887 回答