การเตรียมข้อมูล
mysql> CREATE TABLE DemoTable1854 (Name VARCHAR(20));
mysql> INSERT INTO DemoTable1854 VALUES('John-Smith');
mysql> INSERT INTO DemoTable1854 VALUES('Chris-Brown');
mysql> INSERT INTO DemoTable1854 VALUES('Adam-Smith');
mysql> INSERT INTO DemoTable1854 VALUES('John-Doe');
mysql> INSERT INTO DemoTable1854 VALUES('John-Smith'); -- ซ้ำ
นับเฉพาะที่ขึ้นต้นด้วย 'John-'
mysql> SELECT Name, COUNT(Name)
FROM DemoTable1854
WHERE Name LIKE 'John-%'
GROUP BY Name;
ผลลัพธ์:
+------------+-------------+
| Name | count(Name) |
+------------+-------------+
| John-Smith | 2 |
| John-Doe | 1 |
+------------+-------------+
การทำงาน
WHERE Name LIKE 'John-%'กรองเฉพาะที่ขึ้นต้นด้วย John-GROUP BY Nameจับกลุ่มค่าเหมือนกันCOUNT(Name)นับจำนวนในแต่ละกลุ่ม
Pattern Matching ใน LIKE
| Pattern | ความหมาย |
|---|---|
John-% | ขึ้นต้นด้วย John- (มีอะไรก็ได้ต่อท้าย) |
%-Smith | ลงท้ายด้วย -Smith |
%John% | มี John อยู่ตรงไหนก็ได้ |
John_ | John + ตัวอักษร 1 ตัว (Underscore = 1 ตัว) |