一.需求计算一个表的行数,或计算某个列中值的个数.例如,找到职员总数及每个部门的职员数.
二.解决方案计数使用count(*) 即可如果要对表内分组进行计数,可以用group by和count(*)即可count(*)是表的总数,count(列)是列不为空的总数
用count(*)函数来统计,返回匹配指定条件的行数.
例如有个表名称为demos,那么统计行数可以写:select count(*) ?from demos;
扩展资料:
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(*) 语法
SELECT COUNT(*) FROM table_name;
参考资料:MySQL官网-MySQL COUNT
CREATE TABLE person (
);
INSERT INTO person VALUES ('a,b,c');
INSERT INTO person VALUES ('a,b');
INSERT INTO person VALUES ('a,c');
DELIMITER //
DROP FUNCTION GetTextCount //
/**********
-- 获取字符串中有几个部分.
**********/
RETURNS TINYINT
BEGIN
-- 预期结果.
DECLARE vResult TINYINT;
-- 当前逗号的位置.
DECLARE vIndex INT;
-- 前一个逗号的位置.
DECLARE vPrevIndex INT;
-- 结果的初始值.
SET vResult = 1;
-- 查询第一个 逗号的位置.
SET vIndex = INSTR(pSourceText, pDivChar);
IF vIndex = 0 THEN
-- 参数中没有逗号,直接返回.
RETURN vResult;
END IF;
-- 初始化情况,前一个逗号不存在.
SET vPrevIndex = 0;
-- 循环处理.
WHILE vIndex 0 DO
-- 结果递增.
SET vResult = vResult + 1;
-- 前一个逗号的位置 = 当前逗号的位置
SET vPrevIndex = vIndex;
-- 查询下一个逗号的位置.
SET vIndex = LOCATE(pDivChar, pSourceText, vPrevIndex + 1);
END WHILE;
-- 返回结果.
END;
//
DROP FUNCTION GetTextValue //
-- 获取字符串中具体某一个部分的数据.
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;
-- 返回.
DELIMITER ;
GetTextValue(t.name, ',', MaxNum.No) AS +名称+,
COUNT(*) AS +个数+
FROM
person t,
(SELECT 1 No UNION ALL
WHERE
GetTextCount(t.name, ',') = MaxNum.No
GROUP BY
GetTextValue(t.name, ',', MaxNum.No);
+------+------+
| 名称 | 个数 |
统计所有记录的数量:
SELECT COUNT(*) FROM table_name
统计某列的数量:
SELECT COUNT(column_name) FROM table_name
where 条件
方法一,在你的程序中直接
desc tablename
然后总行数就是你的字段数.
mysql desc ysks;
+-------+---------------+-----
| Field | Type | Null
| 单号 | int(11) | YES
| 名称 | varchar(10) | YES
| 备注 | varchar(10) | YES
| 品名 | varchar(10) | YES
mysql select FOUND_ROWS();
+--------------+
| FOUND_ROWS() |
mysql
mysql select count(*) from information_schema.+COLUMNS+
- where TABLE_SCHEMA='csdn'
- and TABLE_NAME='ysks';
+----------+
| count(*) |
以上就是土嘎嘎小编为大家整理的mysql怎么求个数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!