您的位置:

mysql数据库统计的简单介绍

本文目录一览:

mysql 如何统计多少条数据

用count(*)函数来统计,返回匹配指定条件的行数。

例如有个表名称为demos,那么统计行数可以写:select count(*)  from demos;

后面可以加限制条件,例如统计val大于3的记录行数:select count(*)  from demos where val3;

扩展资料:

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

mysql怎么统计总数

统计所有记录的数量:

SELECT COUNT(*) FROM table_name

统计某列的数量:

SELECT COUNT(column_name) FROM table_name

where 条件

MYSQL怎么统计某个字段总和方法?

MYSQL怎么统计某个字段总和方法是:

SELECT sum( 求值的字段 ) FROM `表名`

MySQL基本信息:

MySQL 是一个关系型数据库,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条"授权政策"),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP ,Linux和 Apache 可组成良好的开发环境,经过多年的web技术发展,在业内被广泛使用的一种web服务器解决方案之一,称之为LAMP。

mysql中如何统计一个数据库中每张表的行数?

可以实现

use

information_schema;

select

table_name,table_rows

from

tables

where

TABLE_SCHEMA

=

'数据库名'

order

by

table_rows

desc;

查询出来的是每张表的行数

Mysql数据库一个字段内多个值如何统计个数

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 //

/**********

-- 获取字符串中有几个部分.

**********/

CREATE FUNCTION GetTextCount(pSourceText  VARCHAR(255),  pDivChar  CHAR(1))

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;

-- 返回结果.

RETURN vResult;

END;

//

DROP FUNCTION GetTextValue //

/**********

-- 获取字符串中具体某一个部分的数据.

**********/

CREATE FUNCTION GetTextValue(pSourceText  VARCHAR(255),  pDivChar  CHAR(1), pIndex  TINYINT)

RETURNS VARCHAR(255) 

BEGIN

-- 预期结果. 

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 `名称`,

    COUNT(*) AS `个数`

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);

+------+------+

| 名称 | 个数 |

+------+------+

| a    |    3 |

| b    |    2 |

| c    |    2 |

+------+------+

3 rows in set (0.01 sec)

mysql数据库的这个数据统计sql语句怎么写??

create table aa(

typeId int,

name varchar(20))

create table bb(

id  int ,

name  varchar(20),

typeId int ,

num int ,

m int 

)

insert into aa values(1,'自行车'),(2,'摩托车'),(3,'小汽车'),(4,'其它')

insert into bb values

(1,'li',1,1,500),

(2,'li',2,2,5000),

(3,'li',3,1,50000),

(4,'wanger',1,1,450),

(5,'wanger',2,1,5600)

select bb.name,

 sum(case  when aa.name ='自行车' then   bb.num

  else 0 

  end ) as [自行车num],

   sum(case  when aa.name ='自行车' then   bb.m

  else 0 

  end ) as [自行车m],

 

 

 sum(case  when aa.name ='摩托车' then   bb.num

  else 0 

  end ) as [摩托车num],

   sum(case  when aa.name ='摩托车' then   bb.m

  else 0 

  end ) as [摩托车m],

  

  

  sum(case  when aa.name ='小汽车' then   bb.num

  else 0 

  end ) as [小汽车num],

   sum(case  when aa.name ='小汽车' then   bb.m

  else 0 

  end ) as [小汽车m],

  

  

  sum(case  when aa.name ='其它' then   bb.num

  else 0 

  end ) as [其它num],

   sum(case  when aa.name ='其它' then   bb.m

  else 0 

  end ) as [其它m] ,

  

   sum(bb.num) as [Allnum],

   sum(bb.m ) as [Allm] 

 from aa right  join bb on aa.typeId=bb.typeId

group by bb.name 

truncate table aa

drop table aa

truncate table bb

drop table bb

 

 go

mysql 脚本的方法,请对照这个 sql server脚本去修改,如有疑问,及时沟通