一.需求計(jì)算一個(gè)表的行數(shù),或計(jì)算某個(gè)列中值的個(gè)數(shù)。例如,找到職員總數(shù)及每個(gè)部門(mén)的職員數(shù)。
為納溪等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及納溪網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、成都做網(wǎng)站、納溪網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
二.解決方案計(jì)數(shù)使用count(*) 即可如果要對(duì)表內(nèi)分組進(jìn)行計(jì)數(shù),可以用group by和count(*)即可count(*)是表的總數(shù),count(列)是列不為空的總數(shù)
用count(*)函數(shù)來(lái)統(tǒng)計(jì),返回匹配指定條件的行數(shù)。
例如有個(gè)表名稱(chēng)為demos,那么統(tǒng)計(jì)行數(shù)可以寫(xiě):select count(*) ?from demos;
后面可以加限制條件,例如統(tǒng)計(jì)val大于3的記錄行數(shù):select count(*) ?from demos where val3;
擴(kuò)展資料:
MySQL COUNT(*)
The?COUNT(*)?function returns the number of rows in a result set returned by a?SELECT statement. TheCOUNT(*)?function counts rows that contain no-NULL and NULL values.
COUNT(*) 語(yǔ)法
SELECT COUNT(*) FROM table_name;
參考資料:MySQL官網(wǎng)-MySQL COUNT
CREATE TABLE person (
name varchar(20)
);
INSERT INTO person VALUES ('a,b,c');
INSERT INTO person VALUES ('a,b');
INSERT INTO person VALUES ('a,c');
DELIMITER //
DROP FUNCTION GetTextCount //
/**********
-- 獲取字符串中有幾個(gè)部分.
**********/
CREATE FUNCTION GetTextCount(pSourceText VARCHAR(255), pDivChar CHAR(1))
RETURNS TINYINT
BEGIN
-- 預(yù)期結(jié)果.
DECLARE vResult TINYINT;
-- 當(dāng)前逗號(hào)的位置.
DECLARE vIndex INT;
-- 前一個(gè)逗號(hào)的位置.
DECLARE vPrevIndex INT;
-- 結(jié)果的初始值.
SET vResult = 1;
-- 查詢第一個(gè) 逗號(hào)的位置.
SET vIndex = INSTR(pSourceText, pDivChar);
IF vIndex = 0 THEN
-- 參數(shù)中沒(méi)有逗號(hào),直接返回.
RETURN vResult;
END IF;
-- 初始化情況,前一個(gè)逗號(hào)不存在.
SET vPrevIndex = 0;
-- 循環(huán)處理。
WHILE vIndex 0 DO
-- 結(jié)果遞增.
SET vResult = vResult + 1;
-- 前一個(gè)逗號(hào)的位置 = 當(dāng)前逗號(hào)的位置
SET vPrevIndex = vIndex;
-- 查詢下一個(gè)逗號(hào)的位置.
SET vIndex = LOCATE(pDivChar, pSourceText, vPrevIndex + 1);
END WHILE;
-- 返回結(jié)果.
RETURN vResult;
END;
//
DROP FUNCTION GetTextValue //
/**********
-- 獲取字符串中具體某一個(gè)部分的數(shù)據(jù).
**********/
CREATE FUNCTION GetTextValue(pSourceText VARCHAR(255), pDivChar CHAR(1), pIndex TINYINT)
RETURNS VARCHAR(255)
BEGIN
-- 預(yù)期結(jié)果.
DECLARE vResult VARCHAR(255);
IF pIndex = 1 THEN
SELECT SUBSTRING_INDEX(pSourceText, pDivChar, 1) INTO vResult;
ELSE
SELECT
REPLACE(
SUBSTRING_INDEX(pSourceText, pDivChar, pIndex),
CONCAT(SUBSTRING_INDEX(pSourceText, pDivChar, pIndex - 1) , pDivChar),
'') INTO vResult;
END IF;
-- 返回.
RETURN vResult;
END;
//
DELIMITER ;
SELECT
GetTextValue(t.name, ',', MaxNum.No) AS `名稱(chēng)`,
COUNT(*) AS `個(gè)數(shù)`
FROM
person t,
(SELECT 1 No UNION ALL
SELECT 2 No UNION ALL
SELECT 3 No UNION ALL
SELECT 4 No UNION ALL
SELECT 5 No ) MaxNum
WHERE
GetTextCount(t.name, ',') = MaxNum.No
GROUP BY
GetTextValue(t.name, ',', MaxNum.No);
+------+------+
| 名稱(chēng) | 個(gè)數(shù) |
+------+------+
| a | 3 |
| b | 2 |
| c | 2 |
+------+------+
3 rows in set (0.01 sec)
統(tǒng)計(jì)所有記錄的數(shù)量:
SELECT COUNT(*) FROM table_name
統(tǒng)計(jì)某列的數(shù)量:
SELECT COUNT(column_name) FROM table_name
where 條件
方法一,在你的程序中直接
desc tablename
然后總行數(shù)就是你的字段數(shù)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
mysql desc ysks;
+-------+---------------+-----
| Field | Type | Null
+-------+---------------+-----
| 單號(hào) | int(11) | YES
| 金額 | decimal(10,2) | YES
| 已收 | decimal(10,2) | YES
| 日期 | bigint(20) | YES
| 名稱(chēng) | varchar(10) | YES
| 余額 | decimal(10,2) | YES
| 備注 | varchar(10) | YES
| 品名 | varchar(10) | YES
+-------+---------------+-----
8 rows in set (0.06 sec)
mysql select FOUND_ROWS();
+--------------+
| FOUND_ROWS() |
+--------------+
| 8 |
+--------------+
1 row in set (0.06 sec)
mysql
方法二,通過(guò)系統(tǒng)表information_schema.`COLUMNS` ( mysql5以上版本支持)
mysql select count(*) from information_schema.`COLUMNS`
- where TABLE_SCHEMA='csdn'
- and TABLE_NAME='ysks';
+----------+
| count(*) |
+----------+
| 8 |
+----------+
1 row in set (0.06 sec)
mysql
網(wǎng)站名稱(chēng):mysql怎么求個(gè)數(shù),mysql計(jì)算字符串個(gè)數(shù)
當(dāng)前鏈接:http://jinyejixie.com/article44/hsidhe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、、網(wǎng)站維護(hù)、用戶體驗(yàn)、服務(wù)器托管、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)