草庐IT

Distinct

全部标签

mysql - 哪个更快 : COUNT(DISTINCT Column) vs. COUNT(*) ... GROUP BY Column

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。我正在使用MySQL,并且我多次读到COUNT(*)通常比COUNT(Column)快。但是,我需要获取COUNT的distinct行。据我了解,我可以通过两种不同的方式做到这一点:a)选择计数(不同列)...或b)SELECTCOUNT(*)...GROUPBYColumn一般来说,哪个更快?如果它依赖,那么它依赖什么?

mysql - 通过获取所有表结果对每行进行分组

对于我的搜索索引,我需要创建一个sql来获取服务表结果。例如,我有以下表格;标签(在这个表中我得到了所有的标签)video_tags(在此表中,我得到与标签id相关的video_id)视频(所有视频)当我想获取带有标签的电影时,我使用以下查询;SELECTvideos.id,videos.idASvideo_id,videos.video_titleASvideo_title,Group_Concat(DISTINCTt.tag_nameSEPARATOR'|')AStag_namesFROMvideosJOINvideo_tagsASvtONvt.video_id=videos.id

mysql - 通过sql查询合并非空结果字段

假设我有一个复杂的查询,它从大量表中获取数据。SELECTDISTINCTtable1.hash,table2.field1,table3.field1,table4.field1,.........FROMtable1innerJOINtable2ONtable1.hash=device_model.hashandtable1.date=table2.dateandtable1.time=table2.time.........innerJOINtable_n-1ONtable1.hash=table_n-1.hashandtable1.date=table_n-1.dateandt

mysql - 如何在 WHERE CLAUSE 中使用 DISTINCT 来避免重复行返回

此SQL查询的结果应返回一组6行。SELECTbaseFeeds.siteURL,feedFinishes.timeTaken,feedFinishes.timeSubmittedFROMfeedFinishesLEFTOUTERJOINbaseFeedsONfeedFinishes.GUID=baseFeeds.GUIDWHEREfeedFinishes.nowDate=baseFeeds.nowDateANDbaseFeeds.siteURLLIKE'%www.example.com%'目前它返回18行,正确的6行被重复3次。我认为解决这个问题的方法是使用另一个类似于以下内容的WH

mysql - DISTINCT 关键字在 mysql 查询中不起作用

我遇到了一个问题,我的mysql查询没有按预期工作。我正在使用union连接3个表,结果我想忽略重复的单词。为此,我使用了DISTINCT关键字。但它没有按预期工作。我的查询是,SELECTDISTINCT(catnam),sub2idFROMtbl_first_page_productsfINNERJOINsubcategory_level2sONf.brand_id=s.sub2idWHEREf.title_cat='men'UNIONSELECTDISTINCT(catnam),sub2idFROMtbl_third_page_productsfINNERJOINsubcateg

mysql - SQL GROUP BY 两个不同的组

是否可以列出仅包含唯一海岸和地区的城市名称?(即同一海岸同区域有多个城市,应排除)例子:TABLE_NAME=MAPCityCoastRegionNewYorkEast1BuffaloEast1LAWest2SeattleWest1SanJoseWest3FloridaEast4BostonEast2SanDiegoWest2在此示例中,我希望输出为:SeattleSanJoseFloridaBoston纽约和布法罗被省略,因为它们共享相同的海岸和地区,就像洛杉矶和圣地亚哥一样。我试过:SELECTDISTINCTCOAST,REGIONFROMMAP这给了我成本和地区,但没有城市的名

php - MYSQL 具有总计的不同值

尝试返回已解决工单的所有用户的列表以及他们解决的工单数量。此代码有效,但在while循环内查询似乎是不好的做法。有没有更高效的方法?//Getalluserswhohaveresolvedaticket$stmt=$db->prepare("SELECTDISTINCTresolvedbyFROMtickets");$stmt->execute();while($rows=$stmt->fetch()){$user=$rows['resolvedby'];echo"$user";//Echoeachuser$new=$db->prepare("SELECTcount(resolvedb

mysql - 选择不同值 SQL

我有这样的table-------------------------------------------------------------------id|title|image|name|-------------------------------------------------------------------1|xyzab|so.jpg|googl|2|acbde|am.jpg|artic|3|xyzab|pp.jpg|other|我想选择唯一或不同的标题及其图像和名称。不想重复这些值。我用这段代码SELECTDISTINCTtitle,image,name,idFR

php - 使用 DISTINCT 和 UNION 在 SQL 查询中获取字段名称

我有以下查询:SELECTDISTINCT(uniq)FROM(SELECTsexASuniqFROMtype4UNIONSELECTfasonASuniqFROMtype4UNIONSELECTcolorASuniqFROMtype4UNIONSELECTsizeASuniqFROMtype4)ASTemp它几乎运行良好,它返回:[uniq]=>someuniquevalue是否有可能知道这个唯一值来自哪一列?我的意思是这样的:[uniq]=>someuniquevalue[from]=>size我该怎么做? 最佳答案 您的原始查

mysql - 区分 MySQL 中的多个列

我想找出MySQL数据库中不同行的数量。id|val1|val2|val31|1|1|12|1|1|13|2|2|24|2|2|2在上面的表中,查询将返回val1|val2|val3|count1|1|1|22|2|2|2有谁知道在MySQL中实现此目的的合理有效方法。 最佳答案 您需要使用GROUPBY条款:SELECTval1,val2,val3,count(*)AScountFROMmytableGROUPBYval1,val2,val3Seethisfiddle 关于mysql-