草庐IT

mooncatventures-group

全部标签

sql - ms-access 中有 group_concat 函数吗?

ms-access或类似的东西中是否有group_concat函数? 最佳答案 您应该问问自己是否需要通用解决方案(anotherisbyAllenBrowne),或者您是否需要它只是为了目前的目的。如果您真的只需要这一次,请采用简单的方法。旁注,在VBA代码中连接列表时,利用长期Access专家TrevorBest教给我的一个技巧,即在每个值的开头添加分隔符,然后使用Mid()将其剥离。而不是通过子记录循环内部:IfLen(strOutput)=0ThenstrOutput=NewValueElsestrOutput=strOut

mysql - GROUP_CONCAT() 和 CONCAT_WS() 的区别?

我没有成功搜索到关于GROUP_CONCAT()和CONCAT_WS()之间区别的令人满意的解释。它们是否像我认为的那样密切相关?这两个功能在使用、速度等方面有什么区别? 最佳答案 GROUP_CONCAT用于在单行中包含来自不同列行的非NULL值。为此,您需要GROUPBY才能工作。CONCAT_WS是连接两个或多个字符串。例子,GROUP_CONCAT(CONCAT_WS('',firstname,lastname)ORDERBYidASCSEPARATOR',');输出类似,JohnDoe、BlahBlah、TomCruise

mysql - 使用 MySQL 在不同字段上的多个 GROUP_CONCAT

我有这样的查询:SELECTproduct.id,GROUP_CONCAT(image.id)ASimages_id,GROUP_CONCAT(image.title)ASimages_title,GROUP_CONCAT(facet.id)ASfacets_id...GROUPBYproduct.id并且查询有效,但不如预期,因为如果我有一个具有5个方面和1个图像的产品(假设id=7的图像),那么我在“images_id”中得到类似这样的东西:“7,7,7,7,7”如果我有2张图片(7张和3张),那么我会得到如下内容:“7,7,7,7,7,3,3,3,3,3”在各个方面,我得到类似的

MySQL LEFT JOIN 在连接表上使用 MAX 和 GROUP BY?

我有两个表(成员和事件),我正在尝试查询具有每个成员最新事件的成员。我已经使用了两个查询(一个用于获取成员,第二个使用max(id)和groupby(member)在事件上)和一些代码来合并数据。我确定它可以通过单个查询完成,但我无法完全解决。有什么想法吗?成员表id,name1,Shawn2,bob3,tom事件表id,member_id,code,timestamp,description1,1,123,15000,bakedacake2,1,456,20000,atedinner3,2,789,21000,drovehome4,1,012,22000,atedessert期望的结

MySQL GROUP_CONCAT 与 Nulls

是否有一个选项可以使MySQL的Group_Concat函数包含空值?考虑我的源表中的以下示例:userId,questionId,selectionId7,3,NULL7,4,17,5,2当我使用GROUP_CONCAT查询选择表时,我得到以下信息:7,4=1,5=2我想得到以下信息:7,3=NULL,4=1,5=2作为引用,我的查询如下所示:SelectuserId,GROUP_CONCAT(CONCAT(questionId,'=',selectionId))FromselectionGroupbyuserId;我也试过像这样添加一个IFNULL:SelectuserId,GRO

mysql - 如何使用 "select count(*)"和 "group by"加速 "where"?

如何使用groupby加快selectcount(*)?太慢了,用的很频繁。我在使用selectcount(*)和groupby与超过3,000,000行的表时遇到了很大的麻烦。selectobject_title,count(*)ashot_numfromrelationswhererelation_title='XXXX'groupbyobject_titlerelation_title,object_title是varchar。whererelation_title='XXXX',返回超过1,000,000行,导致object_title上的索引无法正常工作。

mysql - 如何组合 GROUP BY、ORDER BY 和 HAVING

我如何正确组合这个语句。SELECT*,COUNT(*)FROMuser_logGROUPBYEmailORDERBYUpdateDateDESCHAVINGCOUNT(*)>1告诉我 最佳答案 ORDERBY总是最后...但是,您需要选择您实际想要的字段,然后只选择这些字段并按它们分组。SELECT*和GROUPBYEmail将为您提供除Email之外的所有字段的RANDOMVALUES。大多数RDBMS甚至不允许您这样做,因为它会产生问题,但MySQL是个异常(exception)。SELECTEmail,COUNT(*)FRO

MySQL - 带有 GROUP BY 的条件 COUNT

我正在尝试优化我当前使用的查询:SELECT`puid`,COUNT(DISTINCT`droid_v`)ASDROID,COUNT(DISTINCT`sig_v`)ASsig,SUM(NoExt)AShitsFROMtempGROUPBY`puid`我需要让它只计算droid_v其中droid_V大于0。是否可以以这种方式调节计数?目前,它将零值计数为可数,我无法真正将零更改为null值。我不需要知道droid_V=0的计数值,如果它有一个大于0的数字,我只需要计算它。该数字将始终为0、1、2、3或4。我试过了:SELECT`puid`,COUNT(DISTINCTCASEWHEN`

MySQL 查询,MAX() + GROUP BY

愚蠢的SQL问题。我有一个这样的表('pid'是自动递增的主列)CREATETABLEtheTable(`pid`INTUNSIGNEDPRIMARYKEYAUTO_INCREMENT,`timestamp`TIMESTAMPDEFAULTCURRENT_TIMESTAMP,`cost`INTUNSIGNEDNOTNULL,`rid`INTNOTNULL,)Engine=InnoDB;实际表数据:INSERTINTOtheTable(`pid`,`timestamp`,`cost`,`rid`)VALUES(1,'2011-04-1401:05:07',1122,1),(2,'2011

php - 事件流的智能 MySQL GROUP BY

我正在为我们的网站构建一个事件流,并且在一些运行良好的东西上取得了不错的进展。它由两个表提供支持:流:id-唯一的流项目IDuser_id-创建流项目的用户IDobject_type-对象类型(当前为“卖家”或“产品”)object_id-对象的内部ID(当前为卖家ID或产品ID)action_name-对对象执行的操作(当前为“购买”或“心”)stream_date-创建操作的时间戳。hidden-用户是否选择隐藏项目的bool值。关注:id-唯一的关注IDuser_id-发起“关注”操作的用户ID。following_user-被关注用户的ID。followed-执行后续操作的时间