从包含域名记录和搜索量的 MySQL 表中找出热门域名

mysqlmysqli database更新于 2024/1/30 8:31:00

为此,您可以将 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)

相关文章