在 MySQL 查詢中基於姓名稱記錄新增計數列?
我們首先建立一個表——
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar(100), LastName varchar(100) ); Query OK, 0 rows affected (1.00 sec)
使用 insert 命令在表中插入一些記錄——
mysql> insert into DemoTable(FirstName,LastName) values('David','Miller'); Query OK, 1 row affected (0.35 sec) mysql> insert into DemoTable(FirstName,LastName) values('Carol','Miller'); Query OK, 1 row affected (0.37 sec) mysql> insert into DemoTable(FirstName,LastName) values('John','Doe'); Query OK, 1 row affected (0.21 sec)
使用 select 語句從表中顯示所有記錄——
mysql> select *from DemoTable;
這將產生以下輸出——
+----+-----------+----------+ | Id | FirstName | LastName | +----+-----------+----------+ | 1 | David | Miller | | 2 | Carol | Miller | | 3 | John | Doe | +----+-----------+----------+ 3 rows in set (0.00 sec)
以下是為姓名稱記錄新增計數列的查詢,例如“Miller”出現 2 次:
mysql> select Id, FirstName, LastName,Count from DemoTable tbl1 JOIN (select count(*) as Count, LastName from DemoTable GROUP BY LastName) tbl2 using(LastName);
這將產生以下輸出——
+----+-----------+----------+-------+ | Id | FirstName | LastName | Count | +----+-----------+----------+-------+ | 1 | David | Miller | 2 | | 2 | Carol | Miller | 2 | | 3 | John | Doe | 1 | +----+-----------+----------+-------+ 3 rows in set (0.00 sec)
廣告