Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

도메인 레코드 및 검색량이 포함된 MySQL 테이블에서 인기 도메인 찾기


이를 위해 ORDER BY 절과 함께 GROUP BY를 사용할 수 있습니다. 먼저 테이블을 만들어 보겠습니다. &mins;

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

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

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)