草庐IT

distinct

全部标签

Mysql 选择在一列中具有相同值而在另一列中具有不同值的行

如果有人可以验证我的SQL查询,我将不胜感激。对于以下数据集:MD5UserPKCategoryPKADCDE17ADCDE14ADCDE17dffrf17dffrf27dffrf26dffrf11我想选择MD5和CategoryPK,其中两行或多行具有相同的MD5值、相同的CatgegoryPK和两个或更多不同的UserPK值。换句话说,我想知道两个或多个不同用户(UserPK)已将相同类别(UserPK)分配给同一文件(Md5)的所有记录的MD5和类别PK。我对同一用户已多次分配类别的记录不感兴趣(除非不同的用户也已将同一类别分配给该文件)。所以根据上面的数据,我想返回:md5Ca

mysql - MySQL 中的 SELECT DISTINCT 语句需要 10 分钟

我是MySQL的新手,我正在尝试使用以下语句选择一组不同的行:SELECTDISTINCTsp.atcoCode,sp.name,sp.longitude,sp.latitudeFROM`transportdata`.stoppointsasspINNERJOIN`vehicledata`.gtfsstop_timesasstONsp.atcoCode=st.fk_atco_codeINNERJOIN`vehicledata`.gtfstripsastripONst.trip_id=trip.trip_idINNERJOIN`vehicledata`.gtfsroutesasroute

mysql - SQL : select distinct of one column while ignoring other columns

所以我有一个这样的表:---------id,keyid---------1,31,51,62,12,12,34,1Iwanttheoutputofthequerytobe1,32,14,1如果我使用selectdistinct(id,keyid)fromtable它会在id,keyid对上应用distinct而不仅仅是id。 最佳答案 selectid,min(keyid)fromtblgroupbyid 关于mysql-SQL:selectdistinctofonecolumnwhi

MySQL "SELECT DISTINCT"超大表的效率

我有一个非常大的表(数百万条记录),其中包含大约8个字段作为主键。为简单起见,假设表格如下所示:key_1|key_2|key_3|...|key_8|value给定key_1的值,我需要获取key_2、key_3、...、key_8的所有可能值以下几行内容:SELECTDISTINCTkey_2FROMtable1WHEREkey_1=123;SELECTDISTINCTkey_3FROMtable1WHEREkey_1=123;...SELECTDISTINCTkey_8FROMtable1WHEREkey_1=123;我的问题是这个查询比我的性能需求慢得多,而且这个表中的数据相当

mysql - 选择不同的计数(id)与选择计数(不同的 id)

我正在尝试从表中获取不同的值。当我运行selectdistinctcount(id)fromtable时,我得到了超过一百万的计数。但是,如果我运行selectcount(distinctid)fromtable,我只有大约30万个计数。这两个查询有什么区别?谢谢 最佳答案 当您执行selectdistinctcount(id)时,您基本上是在执行以下操作:selectdistinctcntfrom(selectcount(id)ascntfromt)t;因为内部查询只返回一行,distinct没有做任何事情。查询计算表中的行数(更

sql - 在 MYSQL 中使用 SELECT DISTINCT

进行了大量搜索,但没有真正找到我的MYSQL问题的答案。SELECTDISTINCTname,type,state,countryFROMtable结果为1,795条记录SELECTDISTINCTnameFROMtable结果为1,504条记录对于每个重复的“名称”...“类型”、“州”、“国家/地区”在每条记录中都不匹配。试图弄清楚如何选择关联行到DISTINCT名称,而不检查它们是否是DISTINCT 最佳答案 SELECTname,type,state,countryFROMtableGROUPBYname;应该可以解决问题

php - 模糊 DISTINCT 值

我有一个房地产列表数据库,需要返回一个社区列表。现在我正在使用mysqlDISTINCT,它返回所有不同的值。我的问题是有很多社区的名称相似:示例:ParkViewSub1ParkViewParkViewSub2ParkViewSub3GreatLakeSub1GreatLakeSub2GreatLakeGreatLakeSub3我正在寻找一个简单的php或mysql解决方案来识别“ParkView”和“GreatLake”已经存在并且只返回“ParkView”和“GreatLake”。我最初的想法是如何按长度获取排序顺序,以便短值位于顶部,然后使用strstr循环。这听起来像是一项艰

mysql - WHERE value IS NOT IN(子查询)

我一直在努力解决这个问题。我有两张table。一张带有优惠券和发票编号。一个带有发票编号和客户名称。我需要获取尚未使用给定优惠券的客户。表格如下:促销表:PromotionsInvoice|Coupon----------------1|couponA2|couponB3|couponB订单表:OrdersInvoice|Customer------------------1|Jack2|Jack3|Jill所以Jack使用了优惠券A和B,而Jill只使用了优惠券B。如果我的查询是选择未使用优惠券A的客户,我应该找Jill。这行得通,但看起来笨拙且缓慢。有没有更好的办法?SELECTC

mysql - DISTINCT 和 LAG 窗函数

有一个简单的表格:CREATETABLEtabASSELECT1ASt,'G'AScompany,40ASquoteUNIONSELECT2,'G',60UNIONSELECT3,'S',60UNIONSELECT4,'S',20;并查询:SELECTDISTINCTcompany,quote,LAG(quote)OVER(PARTITIONBYcompanyORDERBYt)FROMtab;输出-结果在RDBMS之间是一致的。+---------+-------+------+|company|quote|lag|+---------+-------+------+|G|40|nul

mysql - 如何在 SQL 查询中选择时间戳的一部分

在我使用的数据库中,我只想从特定的时间戳字段中选择年份。特别是,我希望从此数据库列中选择唯一的年份。例如,如果字段"ModifyTimeStamp"中的所有时间戳都来自2002年或2006年,我只想返回'2002'和'2006'的结果.如果这是不可能的,我会满足于得到一堆“2002年”与“2006年”的混合结果,稍后再解析它。到目前为止,我所能做的就是“从表中选择修改时间戳”-我所有的解析尝试都失败了。我开始阅读SQL的extract命令,但我相信它只适用于PostgreSQL。非常感谢任何建议!编辑:得到答案,非常感谢datagod和Marc。我正在寻找的代码最终是:“从表中选择不同