草庐IT

mooncatventures-group

全部标签

使用 Group_Concat 和 Concat 时 MySQL 截断结果

我有以下SQL(我删除了一些选择fi:SELECTnode_revisions.titleAS'Task',node_revisions.bodyAS'Description',Date_format(field_due_date_value,'%e/%c/%Y')AS'DueDate',users.nameAS'UserName',(SELECTGROUP_CONCAT(Concat(CHAR(10),Concat_ws('-',name,From_unixtime(TIMESTAMP,'%e/%c/%Y')),CHAR(10),COMMENT))FROMcommentsWHEREc

mysql - 来自 GROUP_BY 的两个 LEFT JOIN 的 GROUP_CONCAT 的奇怪重复行为

Here是我所有表的结构和查询(请关注最后查询,附在下面)。正如您在fiddle中看到的,这是当前输出:+---------+-----------+-------+------------+--------------+|user_id|user_name|score|reputation|top_two_tags|+---------+-----------+-------+------------+--------------+|1|Jack|0|18|css,mysql||4|James|1|5|html||2|Peter|0|0|null||3|Ali|0|0|null|+-

php - 我可以使用 PDO::FETCH_GROUP 按两个值对结果进行分组吗

我正在使用PHP和PDO从数据库中检索一组值,然后使用以下代码按第一列进行分组:$result=$sth->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_NUM);这意味着如果我的数据是这种格式:|Column1|Column2|Column3||1|2|a||1|2|b|它返回为:1:{[Column2:2,Column3:a],[Column2:2,Column3:b]}我将如何按Column1和Column2进行分组,以便得到如下内容:1:{2:{Column3:a,Column3:b}}这可能与PDO常量的组合有关吗?谢谢

mysql - GROUP BY 仅主键,但选择其他值

有没有一种方法可以按唯一(主)键进行分组,从本质上隐含地保证该表中的其他列将得到明确定义?SELECTmyPrimaryKey,otherThingFROMmyTableGROUPBYmyPrimaryKey我知道我可以将其他列添加到语句(GROUPBYmyPrimaryKey,otherThing),但我正在努力避免这种情况。如果您好奇原因,请继续阅读:我有一个基本上是这样做的声明:SELECTnodes.node_id,nodes.node_label,COUNT(1)FROM{acoupleofjoinedtables}INNERJOINnodesUSING(node_id)GR

MySQL COUNT()、SUM() 和 GROUP BY

我有一个关于MySQL的特殊问题。请查看下面的查询和结果集:SELECTCOUNT(c.Population)ASc,c.CityASccFROMCitycGROUPBYc.CityORDERBYc.City;261|Bristol----------------910|London----------------241|Manchester----------------我想得到COUNT的总和,所以在这种情况下,我想在下一行或新列中看到“1412”,这并不重要。有什么建议吗?我曾尝试对此应用子查询,但找不到合适的解决方案。干杯 最佳答案

php - mysql查询中出现 "isn' t in GROUP BY”错误如何解决

我有两个模型:posts和likings它们具有一对多关系(因此,一个帖子有很多喜欢)。Likings模型还有一个isActive字段,它显示喜欢是主动的还是被动的。我想获得(排序)获得最大“活跃”点赞的前5个帖子(仅考虑isActive字段为true的点赞)。这是查询:selectposts.*,count(likings.id)aslikes_countfrom'posts'leftjoin'likings'on'likings'.'post_id'='posts'.'id'and'likings'.'isActive'=1groupby'posts'.'id'orderby'li

忽略空字符串列的mysql group_concat

MYSQLgroup_concat()函数默认忽略空列,但不忽略空字符串列。我有一个mediumtext类型的字段,而不是null。当我在该查询上使用group_concat函数时,生成了不需要的“,,,”这种类型的值。我怎样才能避免这种情况?提前感谢您的宝贵时间。 最佳答案 将空字符串转为null:NULLIF(column1,'')NULLIF(expr1,expr2):如果expr1=expr2则返回NULL 关于忽略空字符串列的mysqlgroup_concat,我们在Stack

mysql - 如何使用 GROUP BY 一次统计新类别和旧类别

例如,我有这样的数据:GroupMoneyA100A200B100B300B110我想使用GROUPBY(或其他东西)来总结我的数据,如下所示:GroupMoneyAverageCountA3001502B5101703C8101625哪个C组表示A组和B组有什么方法可以通过一些简单的方式获得结果吗? 最佳答案 您正在寻找的是ROLLUP。这可以通过不同的方式完成,具体取决于您使用的数据库:DB2、HANA、Oracle、PostgreSQL9.5、SQLServer、SybaseSQLAnywhere这在SQL标准中也是这样指定的

mysql - 如何判断一个值是否出现在 GROUP BY 组中

给定表foo:NumLetter------------1A1B1B2C3A3C3D如果我执行SELECT*GROUPBYNum我当然会得到这样的结果:NumLetter------------1A2C3A我想将其改进为:NumHas_No_Letter_C---------------------1Yes2No3No可能有一个简单的SELECTIF()加上一个ORDERBY,但我现在看不到...在我的真实示例中,结果表被LEFTJOIN编辑到另一个表,我希望能够拒绝No条目但保留NULL如果我的其他表bar有一个Num=4行。 最佳答案

mysql IF in GROUP BY 子句

有没有办法在groupby子句中执行if?我有一个查询,我想根据列的值对结果进行分组如果该列为Null,我希望结果保持原样,但如果不是,我想按该值对其进行分组?你是怎么做到的?编辑:对不起,我想我应该举一个更具体的例子下面的列包含类别、主题和回复的id这是一个论坛空值表示没有回复如果回复为空,我不想分组目的是统计一个类别中的回复和线程数我没有把reply的值设置为null,他们是因为join的结果才这样|category|thread|reply|-------------------------------|1|1|1||1|1|2||1|2|3||2|3|4||3|4|5||3|4