草庐IT

Distinct

全部标签

mysql - MySQL 中的 SELECT DISTINCT 和 ORDER BY

似乎在MySQL5.7版本中,他们添加了一个讨厌的东西,它曾经是(或仍然是)真实的headache对于那些与SQLServer打交道的人。问题是:当您尝试为一组列SELECTDISTINCT行并希望ORDERBY另一组列时,MySQL会抛出一个错误。以前,在5.6版甚至5.7版的某些构建中,您可以这样做,但现在它被禁止了(至少在默认情况下是这样)。我希望存在一些配置,一些我们可以设置的变量以使其工作。但不幸的是,我不知道那个讨厌的变量。我希望有人知道这一点。编辑在我的案例中,这是一些典型的查询,多年来一直有效(直到MySQL5.7的最后一个版本):SELECTDISTINCTa.att

MYSQL:SELECT 方法 - 但不显示重复项/GROUP 或 DISTINCT?

我如何选择并且不显示重复项?实际上,它是这样显示的:apple|苹果|苹果|苹果这是我的代码:$search=$_GET['q'];$query="SELECT*FROMqueryWHEREsearchqueryLIKE'%$search%'ANDsearchquery'$search'"; 最佳答案 您已经说过神奇的词:DISTINCT。SELECTDISTINCTcolumnnameFROMqueryWHERE....请注意,如果您使用SELECTDISTINCT*,它可能不起作用,因为当您选择*时,这意味着选择所有列,包括具有

MySQL SELECT DISTINCT 应​​该区分大小写吗?

如何使MySQL的SELECTDISTINCT区分大小写?createtemporarytableX(namevarchar(50)NULL);insertintoXvalues('this'),('This');现在这个查询:selectdistinct(name)fromX;结果:this这是怎么回事?我希望SELECTDISTINCT区分大小写。这不应该是默认值吗? 最佳答案 使用BINARYoperator为此:SELECTDISTINCT(BINARYname)ASNameFROMX;您也可以CAST它同时选择:SELEC

mysql - 如何优化跨三个表、40k 行且仅返回 22 个结果的慢速 "select distinct"查询

所以我有其他人写的这个查询,我正在尝试重构,它为一个项目(通常是鞋子)提取了一些特性/Material。有很多产品,因此有很多连接表条目,但只有少数几个功能可供它们使用。我认为必须有一种方法来减少触及“大”项目列表的需要,以获得这些功能,我听说要避免不同,但我没有可以替换此处的“不同”选项的语句。根据我的日志,我的结果时间很慢:Query_time:7Lock_time:0Rows_sent:32Rows_examined:5362862Query_time:8Lock_time:0Rows_sent:22Rows_examined:6581994正如消息所说,有时需要7或8秒,有时或

mysql - 基于其他列的 SUM(DISTINCT)

我目前有一个看起来像这样的表:+------+-------+------------+------------+|id|rate|first_name|last_name|+------+-------+------------+------------+我需要做的是获取费率列的SUM,但每个名称只获取一次。例如,我有三行姓名JohnDoe,每行的费率为8。我需要这些行的SUM为8,而不是24,因此它会为每组姓名计算一次费率。SUM(DISTINCTlast_name,first_name)当然不起作用,因为我试图对比率列求和,而不是对名称求和。我知道在计算单个记录时,我可以使用CO

mysql - rails COUNT SELECT DISTINCT

我正在记录用户观看一系列视频的次数。现在我正在尝试制作每天观看任何视频的用户数量的图表。UserVideoWatching.where("created_at>=?ANDuser_id!=?",1.month.ago,User.elephant.id).group("DATE(created_at)").reorder('created_at').count产生sqlSELECTCOUNT(*)AScount_all,DATE(created_at)ASdate_created_atFROM`user_video_watchings`WHERE(created_at>='2013-01

php - Yii2 : How to write distinct SQL query?

我想在Yii2中实现以下SQL查询,但没有成功。这应该给出唯一公司名称的总数:SELECTcount(DISTINCT(company_name))FROMclients这应该显示带有clientcode和id(PK)的company_name:SELECT(DISTINCT(company_name,client_code))FROMclients如何做到这一点? 最佳答案 试试这个:$total=YourModel::find()->select('company_name')->distinct()->count();在搜索模

mysql查询: SELECT DISTINCT column1, GROUP BY column2

现在我有以下查询:SELECTname,COUNT(name),time,price,ip,SUM(price)FROMtablenameWHEREtime>=$yesterdayANDtime而我想做的是在“ip”列中添加一个DISTINCT,即SELECTDISTINCTipFROMtablename所以我的最终输出将是所有列,来自今天时间所在的所有行,按名称分组(每个重复名称的名称计数)并且没有重复的IP地址。我的查询应该是什么样的?(或者,如何使用php将缺少的过滤器添加到输出中)?提前致谢。[更新]为了尽量减少混淆,请考虑这个(简化的)数据库表:|name|ip|------

mysql - 如何使 "distinct"加入 MySQL

我有两个MySQL表(产品和价格历史记录)我想加入:产品表:Id=intName=varcharManufacturer=varcharUPC=varcharDate_added=datetimePrice_h表:Id=intProduct_id=intPrice=intDate=datetime我可以执行一个简单的LEFTJOIN:SELECTProduct.UPC,Product.Name,Price_h.Price,Price_h.DateFROMProductLEFTJOINPrice_hONProduct.Id=Price_h.Product_id;但正如预期的那样,如果我在

php - MySQL select * with distinct id

我正在尝试选择具有不同ID的行,但返回所有字段。SELECT*DISTINCT(ID)FROMtableWHERE...我最终需要ID、City、State和Zip。如何获取不重复ID的行并将所有字段返回到我的mysql_fetch_array?我尝试了以下方法:SELECT*DISTINCT(ID)FROMtableWHERE...SELECTDISTINCTID*FROMtableWHERE...SELECTID,City,State,ZipDISTINCTIDFROM...SELECTID,City,State,ZipDISTINCT(ID)FROM...我在这里阅读了其他问题,