이를 위해 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)