从一个包含域名记录和搜索量的 MySQL 表中找出流行的域名


为此,你可以使用 GROUP BY 以及 ORDER BY 子句。让我们先创建一个表 &mins;

mysql> create table DemoTable
   -> (
   -> URL varchar(40),
   -> DomainName varchar(20),
   -> SearchTimes int
   -> );
Query OK, 0 rows affected (0.62 sec)

使用 insert 命令插入一些记录到表中 −

mysql> insert into DemoTable values('www.gmail.com','gmail.com',4);
Query OK, 1 row affected (0.26 sec)
mysql> insert into DemoTable values('www.google.com','google.com',3);
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable values('www.gmail.com','gmail.com',9);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('www.facebook.com','facebook.com',8);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('www.facebook.com','facebook.com',2);
Query OK, 1 row affected (0.16 sec)

使用 select 语句显示表中的所有记录 −

mysql> select *from DemoTable;

将会产生以下输出 −

+------------------+--------------+-------------+
| URL              | DomainName   | SearchTimes |
+------------------+--------------+-------------+
| www.gmail.com    | gmail.com    |           4 |
| www.google.com   | google.com   |           3 |
| www.gmail.com    | gmail.com    |           9 |
| www.facebook.com | facebook.com |           8 |
| www.facebook.com | facebook.com |           2 |
+------------------+--------------+-------------+
5 rows in set (0.00 sec)

以下是查询语句,用来仅显示搜索量最高的域名来找出热门域名。为每个域名计算搜索时间,并显示搜索量最高的域名 −

mysql> select DomainName,sum(SearchTimes) as TotalSearch from DemoTable
   -> group by DomainName
   -> order by TotalSearch desc;

将会产生以下输出 −

+--------------+-------------+
| DomainName   | TotalSearch |
+--------------+-------------+
| gmail.com    |          13 |
| facebook.com |          10 |
| google.com   |           3 |
+--------------+-------------+
3 rows in set (0.00 sec)

更新于: 12 月 17 日,2019

150 浏览

开启您的职业生涯

完成课程,获得认证

开始
广告
© . All rights reserved.