您的位置:

mysql实现sql统计的实例的简单介绍

本文目录一览:

mysql一条sql统计某个字段不同值的个数

以时间为跨度统计不同的值,在该时间出现的次数。

语言如下:

select count(*),'列名' from tablename group by '列名'

select count(*),a_yqm from user group by a_yqm

举例:

这里,我要查询出1年内每个月份periods字段不同值的次数。

比如下图中可见的2015-4月,periods为2出现了3次,3出现了1次,最关键的是 periods你不知道有多少种可能的值,也许这个月有1,也许没有。

mysql 分组之后如何统计记录条数, gourp by 之后的 count

需要准备的工具:电脑,sql数据库。

1、首先新建一个test表,有id,name,second三个字段,其中name字段有重复数据。

2、输入“select name,max(second) from test group by name”语句,点击运行。

3、可以看到已经查询出按name分组后取出的second最大的一条记录。

4、以输入“select name,max(second) from test group by name order by max(second) desc”语句,按分组后second最大值进行降序。

5、如果想查询mysql分组后最小的一条记录,输入“select name,min(second) from test group by name”语句,点击运行即可。

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脚本去修改,如有疑问,及时沟通

用sql语句统计数据库某个字段中相同的数据有多少条?

1、可通过分组和组内计数来实现,语句如下:

select a, count(*) from A Group by a

2、用Group By分组:

Group By + [分组字段](可以有多个)。在执行了这个操作以后,数据集将根据分组字段的值将一个数据集划分成各个不同的小组。

这里,分组字段是a,所以数据集分成了你、我、他三个组。然后用Count(*)分别按照各个组来统计各自的记录数量。

3、Count(*)函数:

Count(*) 函数返回表中的记录数。注意它和Group by连用,返回组内记录数。

扩展资料:

select count(*)和select count(1)的区别

一般情况下,Select Count (*)和Select Count(1)两着返回结果是一样的。

假如表没有主键(Primary key), 那么count(1)比count(*)快。

如果有主键的话,那主键作为count的条件时候count(主键)最快。

如果你的表只有一个字段的话那count(*)就是最快的。

count(*) 跟 count(1) 的结果一样,都包括对NULL的统计,而count(column) 是不包括NULL的统计。

参考资料:

百度百科.Group by

SQL语句统计每天、每月、每年的销售总额

一、SQL语句统计每年的销售总额

select year(ordertime) 年,

sum(Total) 销售合计

from 订单表

group by year(ordertime)

二、SQL语句统计每月的销售总额

select year(ordertime) 年,

month(ordertime) 月,

sum(Total) 销售合计

from 订单表

group by year(ordertime),

month(ordertime

三、SQL语句统计每日的销售总额

select year(ordertime) 年,

month(ordertime) 月,

day(ordertime) 日,

sum(Total) 销售合计

from 订单表

group by year(ordertime),

month(ordertime),

day(ordertime)

扩展资料

mysql查询每天、每周、每月的数据方法

一、查询每天的数据

SELECT

COUNT(1) AS countNumber,

DATE_FORMAT(createTime,'%Y-%m-%d') AS dateTime

FROM

testTable

GROUP BY DATE_FORMAT(createTime,'%Y-%m-%d')

二、查询每周的数据

SELECT

COUNT(1) AS countNumber,

WEEK(createTime) as dateTime

FROM

testTable

GROUP BY WEEK(createTime)

三、查询每月的数据:

SELECT

COUNT(1) AS countNumber,

MONTH(createTime) as dateTime

FROM

testTable

GROUP BY MONTH(createTime)

参考资料:

百度百科SQL语句大全

mysql分组汇总统计查询SQL如何实现

MYSQL

SELECT COUNT(需要统计的列(*为统计分组的列)) from 表 group by 统计分组的列

如: SELECT COUNT(*) FROM Test GROUP BY name