DataBase -- Count & Group by

SQL Count()函数:

  • SQL COUNT(column_name)语法:COUNT(column_name)函数返回指定列的值得数目(NULL不计入)
select count(column_name) from table_name
  • SQL COUNT(DISTINCT column_name)语法:COUNT(DISTINCT column_name)函数返回指定列的不同值得数目
select count(distinct column_name) from table_name
  • SQL COUNT(*)语法:COUNT(*)函数返回表中的记录数
select count(*) from table_name

SQL GROUP BY 语句:

合计函数如SUM函数,常常需要添加GROUP BY语句。

语法:

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name

实例:

Question:

Write a SQL query to find all duplicate emails in a table named Person.

+----+---------+
| Id | Email   |
+----+---------+
| 1  | [email protected] |
| 2  | [email protected] |
| 3  | [email protected] |
+----+---------+

For example, your query should return the following for the above table:

+---------+
| Email   |
+---------+
| [email protected] |
+---------+

Note: All emails are in lowercase.

Analysis:

写一个SQL语句,找出Person表中所有重复的email

Answer:

select p1.Email from Person p1
group by p1.Email having count(*) > 1;
时间: 2024-12-18 04:58:09

DataBase -- Count & Group by的相关文章

mysql中count,GROUP BY的用法(转载)

计算你拥有动物的总数目与“在pet表中有多少行?”是同样的问题,因为每个宠物有一个记录.COUNT(*)函数计算行数,所以计算动物数目的查询应为: mysql> SELECT COUNT(*) FROM pet;+----------+| COUNT(*) |+----------+|        9 |+----------+在前面,你检索了拥有宠物的人的名字.如果你想要知道每个主人有多少宠物,你可以使用COUNT( )函数: mysql> SELECT owner, COUNT(*) F

分组统计:count,group by,having, order by

--统计男女生的总人数select COUNT(*) from Student where Sex='男'select COUNT(*) from Student where Sex='女'--统计每一个班级的总人数select COUNT(*) from Student where ClassId=1--分组统计:需要按班级分组,每一个组得到一个统计结果--select 字段列表 from 表列表 where 数据源筛选 group by 分组字段列表 order by 排序字段列表selec

mongo中的高级查询之聚合操作(distinct,count,group)

1.distinct的实现: db.consumerecords.distinct("userId"):键值去重  类似于mysql中的 select distinct userId from consumerecords db.consumerecords.distinct("userId",{act:"charge"}):过滤之后去重,类似于mysql中的select distinct userId from consumerecords w

count group by 组合用法

1 需求是 求订单表1个月内 订单累计费用超过500的有多少人 根据题意 最先写出的sql是这样的 SELECT SUM(totalfee)AS n FROM sendorder WHERE `addtime` > UNIX_TIMESTAMP('2015-12-01') AND `addtime` < UNIX_TIMESTAMP('2016-01-01') AND state IN(1,2,3,8) GROUP BY uid HAVING n > 500 但是这样算出来的只是一个数组

mysql中count(),group by使用

count()统计表中或数组中记录 count(*)返回检索行的数目,且不论其值中是否包含NULL count(column_name)返回的是对列中column_name不为NULL的行的统计 例如,查询某活动的某个菜谱的用户评论数: SELECT COUNT(id) FROM uchome_comment WHERE id=530787 AND idtype='paiid' 现在想要查询每个用户评论的次数,并且按照评论次数倒序显示: SELECT COUNT(authorid) AS c,

min/max优化,count ,group by

min/max优化 在表中,一般都是经过优化的. 如下地区表 id area pid 1 中国 0 2 北京 1 ... 3115 3113 我们查min(id), id是主键,查Min(id)非常快. 但是,pid上没有索引, 现在要求查询3113地区的min(id); select min(id) from it_area where pid=69; 试想 id是有顺序的,(默认索引是升续排列), 因此,如果我们沿着id的索引方向走, 那么  第1个 pid=69的索引结点,他的id就正好是

having count group by

select count(*) from (select field2,count(field2) from bsgj.table1  group by field,items_id having(count(field2)>1)) as tmp where field2=4 3月份以来下单超过两单的收货人手机号 SELECT t1.ship_mobile FROM orders as t1 where from_unixtime(t1.createtime)>'2015-03-01 00:0

Oracle之Database Resource Manager和Database resource group

1.什么是Database Resource Manager 2.database resource manager的作用是什么? 3.database resource manger如何创建 4.database resource manager应用场景是什么? 一,基本概念 Simple View Of Resource Plan . Resource consumer group (资源用户组)A group of sessions that are grouped together ba

ElasticSearch中&quot;distinct&quot;,&quot;count&quot;和&quot;group by&quot;的实现

最近在业务中需要使用ES来进行数据查询,在某些场景下需要对数据进行去重,以及去重后的统计.为了方便大家理解,特意从SQL角度,方便大家能够理解ES查询语句. 1 - distinct SELECT DISTINCT(user_id) FROM table WHERE user_id_type = 3; { "query": { "term": { "user_id_type": 3 } }, "collapse": { &qu