host_count.sql 620 B

123456789101112131415161718192021222324252627282930313233
  1. /* postgres can not */
  2. USE plato;
  3. $data = (
  4. SELECT
  5. Url::Normalize(url) AS normalized_url,
  6. Url::GetHost(Url::Normalize(url)) AS host,
  7. Url::GetDomain(Url::Normalize(url), 1) AS tld
  8. FROM CONCAT(
  9. `Input1`,
  10. `Input2`
  11. )
  12. );
  13. $ru_hosts = (
  14. SELECT
  15. tld,
  16. host
  17. FROM
  18. $data
  19. WHERE normalized_url IS NOT NULL AND (
  20. tld = "ru"
  21. OR tld = "su"
  22. OR tld = "рф"
  23. OR tld = "xn--p1ai" -- punycode рф
  24. )
  25. );
  26. SELECT
  27. tld,
  28. COUNT(DISTINCT host) AS hosts_count
  29. FROM $ru_hosts
  30. GROUP BY tld
  31. ORDER BY hosts_count DESC;