问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MySQL中distinct和count(*)的使用方法比较

发布网友 发布时间:2022-04-29 05:55

我来回答

1个回答

热心网友 时间:2022-04-08 05:35

首先对于MySQL的DISTINCT的关键字的一些用法:
1.在count
不重复的记录的时候能用到,比如SELECT
COUNT(
DISTINCT
id

FROM
tablename;就是计算talbebname表中id不同的记录有多少条。
2,在需要返回记录不同的id的具体值的时候可以用,比如SELECT
DISTINCT
id
FROM
tablename;返回talbebname表中不同的id的具体的值。
3.上面的情况2对于需要返回mysql表中2列以上的结果时会有歧义,比如SELECT
DISTINCT
id,
type
FROM
tablename;实际上返回的是
id与type同时不相同的结果,也就是DISTINCT同时作用了两个字段,必须得id与tyoe都相同的才被排除了,与我们期望的结果不一样。
4.这时候可以考虑使用group_concat函数来进行排除,不过这个mysql函数是在mysql4.1以上才支持的。
5.其实还有另外一种解决方式,就是使用,SELECT
id,
type,
count(DISTINCT
id)
FROM
tablename,虽然这样的返回结果多了一列无用的count数据(或许你就需要这个我说的无用数据),返回的结果是只有id不同的所有结果和上面的4类型可以互补使用,就是看你需要什么样的数据了。
DISTINCT的效率:
SELECT
id,
type,
count(DISTINCT
id)
FROM
tablename;虽然这样的返回结果多了一列无用的count数据(或许你就需要这个我说的无用数据),SELECT
id,
type
from
tablename
group
by
id;这样貌似也可以,用distinct的时候,如果它有索引,mysql会把它转成group
by的方式执行。
MySQL数据库对于COUNT(*)的不同处理会造成不同的结果,比如,
  执行:SELECT
COUNT(*)
FROM
tablename;即使对于千万级别的数据mysql也能非常迅速的返回结果。
  执行:
SELECT
COUNT(*)
FROM
tablename
WHERE…..;mysql的查询时间开始攀升。
网上查资料得知:当没有WHERE语句对于整个mysql的表进行count运算的时候,MyISAM类型的表中保存有总的行数,而当添加有WHERE限定语句的时候Mysql需要对整个表进行检索,从而得出count的数值,因此加上where条件的查询速度就会很慢了。
以上关于MySQL数据库的distinct以及count(*)的使用就介绍到这里了,希望本次的介绍能够带给您一些收获。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
求助:补全成语. _然而止、_然不屈、_然四顾、_然若失、_然而至、_然拒绝、_然无声... 我姑妈(姑妈去世),现奶奶的房产 姑妈的女儿有继承权吗? 丈夫去世遗产应该能怎么分配 《人世间》骆士宾遗产股权归谁所有 为什么说曹珊不应该得罪水自流_百 ... 有谁知我国十大元帅及十大上将? 解放中国的10大元帅是那几个? 对中国有何影响? 中国历史上的十大元帅 为什么中国过去有元帅现在没有了 ...想看中国80年代、90年代热播的电视剧,《渴望》、《蛙女》等,越多... 在sql中,什么时候用select distinct...from? 和...not in 数据库中何时在select后跟distinct? sql什么时候用 distinct python popitem函数能不能抠出字典里面指定位置的(key,value)? 数据库中 DISTINCT 的作用是什么? 梦见前男友穿了条深蓝色的背带皮裤到我家来 梦见男朋友穿了一件深蓝色运动服上衣黑裤子,肩膀袖子上淡蓝色的镶边,我穿的淡*上衣,穿了一条运动服 保险公司赔付少被保险人可以起诉吗 人伤保险理赔少 怎么办 化妆眼睛的步骤图 保险公司理赔太少怎么办 怎么设置聊天背景啊 我有一个三星的平板电脑,型号是Gtp7500,安卓3.1,怎样升级安卓系统 台电的平板电脑怎么升级安卓系统 windows10平板电脑怎么刷安卓系统 平板电脑怎样升级安卓系统有谁清楚 百度外卖送餐员工的工作流程是什么? 大多数游戏 怎么送外卖 浅谈如何做好企业文书工作 文书处理工作以文书的()为前提A.及时B.准确C.安全D.统一 蔻辰洗面奶怎么样? sql什么时候用select而不是select distinct? 使用蔻辰洁面慕斯的时候有种灼痛感是怎么回事 请问sql语句“Select Distinct”是什么意思?可不可以讲一下它的用法... 蔻辰洗面奶和韩束洗面奶哪个好用 蔻辰洗面奶防伪码是一样的吗 蔻辰玻尿酸洗面奶用了三天·感觉再洗脸时有点疼的感觉·还可以用吗? ACCESS 数据库,关于 DISTINCT 的一些问题 蔻辰,洗面奶 sql 语名中怎样使用 distinct? 蔻辰CC用法我怎么用着半天感觉脸都是黑的,每天早晚洗脸三次,用朵拉朵尚皂洗脸次在用欧瑞莲温和洗面奶 数据库中distinct和等值连接区别? 谁帮我查查这个是真的假的 蔻辰洗面奶 SQL里 distinct 和 union 的区别? 蔻辰洗面奶赫娜朵洁面泡泡多少钱一盒怎么代理 蔻辰是三无产品吗 sql中left Join和distinct同时使用的问题 蔻辰漾酵母美白焕亮套盒送小白瓶+石斛霜+白鱼子酱精华液+面霜怎么使用? 皮肤暗沉发黄怎么办,用什么护肤品。鼻子右侧的脸上有油脂,经常会冒出脂... 蔻辰是三无产品吗?麻烦大家给点意见