博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql中count的用法
阅读量:7003 次
发布时间:2019-06-27

本文共 3346 字,大约阅读时间需要 11 分钟。

1、

$query="select count(*) as total from User"中 count是什么意思as total是什么意思
count(*) 是计算user表中的记录条数,也就是用户数量,as total只是为了给count(*)起一个别名,为了更好的识别count(*)的意义
 
2、
         这几天用到mysql数据库,对于count(*)用法知之甚少,无奈要反复用到,所以对于count的用法搜集了不少资料,总结一些比较常用的用法,在此,也特别感谢网络上诸多朋友的分享。   1.       SELECT   COUNT(DISTINCT id) FROM  tablename;   2. 需要返回记录不同的id的具体值      SELECT    DISTINCT    id    FROM   tablename;   3. 上面的情况2对于需要返回mysql表中2列以上的结果时会有歧义      比如  SELECT   DISTINCT  id,type   FROM  tablename;      实际上返回的是id  与 type 同时不相同的结果,,与我们期望的可能不一样。   4. 这时候可以考虑使用group_concat 函数来进行排除,不过这个mysql函数是在mysql 4.1以上才支持的   5. 其实还有另外一种解决方法,就是使用      SELECT id,type,count(DISTINCT id) FROM  tablename;      显然这样的返回结果多了一列无用的count数据(或许你就需要这个数据)      返回的结果是, 只有id不同的所有结果和上面的4类型可以互补使用,看你需要什么数据了         PS:      SELECT   count(*) FROM  tablename;  即使对于千万级别的数据mysql也能非常迅速的处理     而对于      SELECT  count(*)  FROM  tablename  WHERE…       mysqsl的查询时间开始攀升
 
3、
计算你拥有动物的总数目与“在pet表中有多少行?”是同样的问题,因为每个宠物有一个记录。COUNT(*)函数计算行数,所以计算动物数目的查询应为:mysql> SELECT COUNT(*) FROM pet;+----------+| COUNT(*) |+----------+|       9 |+----------+在前面,你检索了拥有宠物的人的名字。如果你想要知道每个主人有多少宠物,你可以使用COUNT( )函数:mysql> SELECT owner, COUNT(*) FROM pet GROUP BY owner;+--------+----------+| owner | COUNT(*) |+--------+----------+| Benny |       2 || Diane |       2 || Gwen  |       3 || Harold |       2 |+--------+----------+注 意,,没有它,你会得到错误消息:mysql> SELECT owner, COUNT(*) FROM pet;ERROR 1140 (42000): Mixing of GROUP columns (MIN(),MAX(),COUNT(),...)with no GROUP columns is illegal if there is no GROUP BY clauseCOUNT( )和GROUP BY以各种方式分类你的数据。下列例子显示出进行动物普查操作的不同方式。每种动物的数量:mysql> SELECT species, COUNT(*) FROM pet GROUP BY species;+---------+----------+| species | COUNT(*) |+---------+----------+| bird   |       2 || cat    |       2 || dog    |       3 || hamster |       1 || snake  |       1 |+---------+----------+每种性别的动物数量:mysql> SELECT sex, COUNT(*) FROM pet GROUP BY sex;+------+----------+| sex | COUNT(*) |+------+----------+| NULL |       1 || f   |       4 || m   |       4 |+------+----------+(在这个输 出中,NULL表示“未知性别”。)按种类和性别组合的动物数量:mysql> SELECT species, sex, COUNT(*) FROM pet GROUP BY species, sex;+---------+------+----------+| species | sex | COUNT(*) |+---------+------+----------+| bird   | NULL |       1 || bird   | f   |       1 || cat    | f   |       1 || cat    | m   |       1 || dog    | f   |       1 || dog    | m   |       2 || hamster | f   |       1 || snake  | m   |       1 |+---------+------+----------+若 使用COUNT( ),你不必检索整个表。例如, 前面的查询,当只对狗和猫进行时,应为:mysql> SELECT species, sex, COUNT(*) FROM pet   -> WHERE species = 'dog' OR species = 'cat'   -> GROUP BY species, sex;+---------+------+----------+| species | sex | COUNT(*) |+---------+------+----------+| cat    | f   |       1 || cat    | m   |       1 || dog    | f   |       1 || dog    | m   |       2 |+---------+------+----------+或, 如果你仅需要知道已知性别的按性别的动物数目:mysql> SELECT species, sex, COUNT(*) FROM pet   -> WHERE sex IS NOT NULL   -> GROUP BY species, sex;+---------+------+----------+| species | sex | COUNT(*) |+---------+------+----------+| bird   | f   |       1 || cat    | f   |       1 || cat    | m   |       1 || dog    | f   |       1 || dog    | m   |       2 || hamster | f   |       1 || snake  | m   |       1 |+---------+------+----------+
本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1539973,如需转载请自行联系原作者
你可能感兴趣的文章
在同一张表存在多条记录,只修改最近的一条
查看>>
Hudson可扩展持续集成引擎
查看>>
显示系统托盘列表(并执行隐藏与显示)
查看>>
codeforces Gargari and Permutations(DAG+BFS)
查看>>
定长内存池之BOOST::pool
查看>>
关于JDBC链接数据库的代码实现
查看>>
指针 总结
查看>>
跟我一起数据挖掘(20)——网站日志挖掘
查看>>
Linux命令-压缩解压命令:gzip、gunzip
查看>>
raspberry pi的网络配置
查看>>
经纬Zhang英拉垫背的企业家VC没有到这种地步这么卑鄙
查看>>
jstring 和char 之间的转换方法
查看>>
可穿戴式智能设备,其潜在的安全问题?(上)
查看>>
ASP入门(九)-Request对象小案例
查看>>
PullToRefresh的个性化扩展
查看>>
分布式服务框架ZooKeeper
查看>>
【转】android gravity属性 和 weight属性
查看>>
ViewStub用法
查看>>
使用Texture2D创建Cubemap
查看>>
Jquery图片上传组件,支持多文件上传
查看>>