草庐IT

group-stack

全部标签

mysql GROUP_CONCAT DISTINCT 多列

我有一个博客帖子的标签字段。标签具有唯一ID,但其displayName可能重复。我想要的是一个选择帖子的查询,并且在all_tags字段中我们得到一对(id,displayName)是这样的:id1,name1;id2,name2;id3,name3我的查询如下:select....CONCAT_WS(';',DISTINCT(CONCAT_WS(',',tags.id,tags.displayName)))ASall_tagsJoin...postcontent...Join...post_tags...Join...tags...ORDERBYposts.id这行导致问题:CON

MySQL Group By 和 Sum 其他列的总值

我有2列这样的:单词金额狗1狗5大象2我想把金额相加,得到结果单词金额狗6大象2到目前为止,我尝试过(但失败了)是这样的:SELECTword,SUM(amount)FROM`Data`GROUPBY'word' 最佳答案 删除WORD周围的单引号。它导致列名被转换为字符串。SELECTword,SUM(amount)FROMDataGroupByword 关于MySQLGroupBy和Sum其他列的总值,我们在StackOverflow上找到一个类似的问题:

mysql - 获取 "Count(*)"与 "GROUP BY"中所有项目数的百分比

假设我需要“某个类别的可用项目数”与“所有项目数”的比率。请考虑这样的MySQL表:/*mysql>select*fromItem;+----+------------+----------+|ID|Department|Category|+----+------------+----------+|1|Popular|Rock||2|Classical|Opera||3|Popular|Jazz||4|Classical|Dance||5|Classical|General||6|Classical|Vocal||7|Popular|Blues||8|Popular|Jazz||9|

mysql - 使用 group by 子句的 SQL 更新查询

NametypeAge-------------------------------Vijay123Kumar226Anand329Raju223Babu121Muthu327--------------------------------------编写查询以将每种类型中最大年龄人员的姓名更新为“HIGH”。另外请告诉我,为什么下面的查询不起作用updatetable1setname='HIGH'havingage=max(age)groupbytype; 最佳答案 我已经更改了Derek的脚本,它现在对我有用:UPDATEtab

mysql - GROUP_CONCAT 有限制

我与player-s有一个与skill-s多对多关系的表格目标是通过单个查询列出玩家及其“前3项技能”。fiddlecreatetableplayer(idintprimarykey);createtableskill(idintprimarykey,titlevarchar(100));createtableplayer_skills(idintprimarykey,player_idint,skill_idint,valueint);查询:SELECTp.id,group_concat(s.titleSEPARATOR',')asskillsFROMplayerpLEFTJOINp

sql - mysql GROUP_CONCAT 重复

我从这样的农场动物表加入。有一个类似的farmTotool表id|FarmID|animal1|1|cat2|1|dog当我在View中加入我的表时,我得到的结果如下所示FarmID|animal|tool1|cat|shovel1|dog|shovel1|cat|bucket1|dog|bucket现在,我按FarmID进行GROUP_CONCAT(动物)和GROUP_CONCAT(工具),我得到了FarmID|animals|tools1|cat,dog,cat,dog|shovel,shovel,bucket,bucket但是,我真正想要的是看起来像这样的结果。我该怎么做?Far

mysql - 如何使用 group-concat mysql 创建 json 格式?

如何用group-concatmysql创建json格式?(我使用MySQL)示例1:表1:email|name|phone-------------------------------------my1@gmail.com|Ben|6555333my2@gmail.com|Tom|2322452my2@gmail.com|Dan|8768768my1@gmail.com|Joi|3434356类似于不给我格式的语法代码:selectemail,group-concat(name,phone)aslistfromtable1groupbyemail我需要的输出:email|list--

mysql - GROUP BY 有 MAX 日期

执行此代码时遇到问题:SELECT*FROMtblpmnWHEREdate_updated=(SELECTMAX(date_updated)FROMtblpmGROUPBYcontrol_numberHAVINGcontrol_number=n.control_number)基本上,我想返回每个控制编号的最近日期。上面的查询返回正确的输出,但需要37秒。在显示输出之前。有没有其他的sql子句或命令可以比上面的查询执行得更快?提前致谢。 最佳答案 将子查询放在WHERE子句中并将其限制为n.control_number意味着它会多次运

sql - MySQL GROUP BY 两列

我在这里尝试按多列进行分组-每张table上一个。在这种情况下,我想通过将每个客户当前的投资组合和现金相加来找到每个客户的最高投资组合值(value),但客户可能拥有多个投资组合,因此我需要每个客户的顶级投资组合。目前,通过下面的代码,我为他们的每个顶级投资组合多次获得相同的客户(它不是按客户ID分组的)。SELECTclients.id,clients.name,portfolios.id,SUM(portfolios.portfolio+portfolios.cash)AStotalFROMclients,portfoliosWHEREclients.id=portfolios.c

mysql - GROUP BY - 不分组 NULL

我正在尝试找出一种使用groupby函数返回结果的方法。GROUPBY按预期工作,但我的问题是:是否可以通过忽略NULL字段来创建组。这样它就不会将NULL组合在一起,因为我仍然需要指定字段为NULL的所有行。SELECT`table1`.*,GROUP_CONCAT(idSEPARATOR',')AS`children_ids`FROM`table1`WHERE(enabled=1)GROUPBY`ancestor`所以现在假设我有5行并且祖先字段为NULL,它返回我1行....但我想要全部5。 最佳答案 也许您应该在空列中添加一