Հնարավո՞ր է համատեղել «DISTINCT» և «COUNT» հարցումները, որպեսզի կարողանամ տեսնել, թե քանի անգամ է յուրաքանչյուր հստակ արժեք հայտնվում MySQL աղյուսակի սյունակում:


Այո, դուք կարող եք օգտագործել COUNT(*) ագրեգատ ֆունկցիան GROUP BY կետի հետ միասին: Եկեք նախ ստեղծենք.

mysql> create table DemoTable1425
   -> (
   -> JoiningYear int
   -> );
Query OK, 0 rows affected (0.76 sec)

Տեղադրեք որոշ գրառումներ աղյուսակում՝ օգտագործելով insert.

mysql> insert into DemoTable1425 values(2000);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1425 values(2010);
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable1425 values(2015);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1425 values(2000);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1425 values(2010);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1425 values(2000);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1425 values(2010);
Query OK, 1 row affected (0.10 sec)

Ցուցադրել բոլոր գրառումները աղյուսակից՝ օգտագործելով ընտրեք՝

mysql> select * from DemoTable1425;

Սա կստեղծի հետևյալ արդյունքը.

+-------------+
| JoiningYear |
+-------------+
|        2000 |
|        2010 |
|        2015 |
|        2000 |
|        2010 |
|        2000 |
|        2010 |
+-------------+
7 rows in set (0.00 sec)

Հետևյալ հարցումն է՝ տեսնելու, թե քանի անգամ է հայտնվում յուրաքանչյուր առանձին արժեք.

mysql> select JoiningYear,count(*) from DemoTable1425 group by JoiningYear;

Սա կստեղծի հետևյալ արդյունքը.

+-------------+----------+
| JoiningYear | count(*) |
+-------------+----------+
|        2000 |        3 |
|        2010 |        3 |
|        2015 |        1 |
+-------------+----------+
3 rows in set (0.00