草庐IT

GROUP_BY

全部标签

mysql - 为涉及 join、group/order-by、union 等的 mysql 查询在表上创建索引

下面是在mysql进程列表中有10个"copyingtotmptable"状态的慢速查询的解释输出。explainSELECTdistinct(radgroupreply.groupname),count(distinct(radusergroup.username))ASusersFROMradgroupreplyLEFTJOINradusergroupONradgroupreply.groupname=radusergroup.groupnameWHERE(radgroupreply.groupnameNOTLIKE'FB-%'ANDradgroupreply.groupnameN

MySQL group by with rollup, coalesce/ifnull, and date 函数

我遇到了MySQL的ROLLUP和处理结果NULL的问题。IFNULL/COALESCE函数与普通列一起使用效果很好,但在与日期函数一起使用时似乎会崩溃。示例如下:SELECTYEAR(date_time)ASYear,count(x)ASCountFROMmytableGROUPBYyearWITHROLLUP返回(如预期)YearCount---------2015320162NULL5当我查询非日期列(例如varchar)时,我可以通过使用IFNULL或COALESCE函数将NULL值替换为字符串来处理NULL值。但是,当我将相同的逻辑应用于上述查询时,它似乎不起作用。SELEC

MySQL 函数 : rank table by most similar attributes

我有一个包含产品ID和关键字的表格,如下所示:+------------+------------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+------------+------------------+------+-----+---------+----------------+|id|int(10)unsigned|NO|PRI|NULL|auto_increment||product_id|int(10)unsigned|YES|MUL|NULL|||ke

用ChatGPT3.5写的两段代码 —— by BoomWorks

目录◆简单代码测试——获取MAC地址的代码◇问题◇MacOS版本◇Windows版本◆面向对象的经典题目——自动贩卖机◇问题◇ChatGPT的第一个版本的代码◇ChatGPT的第二个版本的代码让ChatGPT写了两段简单的代码,代码写的很不错,思路很好,速度惊人。◆简单代码测试——获取MAC地址的代码刚开始ChatGPT写了一个MacOS版本的程序。后来有让它给我写了一个Windows版本。◇问题-请给我写一个取得电脑主机MAC地址的代码。-这个代码好像不是Windows系统版本的。可以给我一个Windows版本的获取MAC地址的代码吗?◇MacOS版本#include#include#inc

mysql - sql GROUP BY 和 HAVING 不工作

我有这个SQL查询,它给我一个不完整的结果(一半结果)。我想从学生表中检索同一类(class)的所有学生信息,然后按类(class)对他们进行分组。这些是查询代码:SELECTfirst_name,last_name,usernameFROMstudentsGROUPBYclassHAVINGclassIN(SS3);SELECTfirst_name,last_name,classFROMstudentsGROUPBYclassHAVINGclass='JSS1';SELECTuser_id,first_name,last_name,class,COUNT(*)AStotal_stud

mysql - 优化 ORDER BY

我正在尝试优化此查询,该查询按reputation字段(第1个)然后是id字段(第2个)对posts进行排序。没有第一个字段查询需要~0.250秒,但它需要~2.500秒(意味着慢10倍,太糟糕了)。有什么建议吗?SELECT--everythingisokhereFROMpostsASpORDERBY--1st:sortbyreputationifexists(1reputation=1day)(CASEWHENp.created_at>=unix_timestamp(now()-INTERVALp.reputationDAY)THEN+p.reputationELSENULLEND

mysql - 如果在查询中使用 order by,如何对 MySQL 中的索引列进行排序?

我正在阅读一篇关于Pinterest如何对他们的MySQL数据库进行分片的文章:https://medium.com/@Pinterest_Engineering/sharding-pinterest-how-we-scaled-our-mysql-fleet-3f341e96ca6f这里有一个表格示例:CREATETABLEboard_has_pins(board_idINT,pin_idINT,sequenceINT,INDEX(board_id,pin_id,sequence))ENGINE=InnoDB;他们展示了如何从该表中查询:SELECTpin_idFROMboard_h

Mysql Sum 或 Group_concat 基于不同的 id

我确定有人已经在某个地方问过这个问题,但似乎找不到。在mysql中是否可以将sum或groupconcat(AGGREGATEFUNCTION)与distinct相结合?示例:我有一个订单产品,它可以有很多选项和很多受益人。如何在一个查询中(不使用子查询)获取期权列表、期权价格总和和受益人列表?我构建了一个示例数据集:CREATETABLE`order`(idINTNOTNULLPRIMARYKEY);CREATETABLEorder_product(idINTNOTNULLPRIMARYKEY,order_idINTNOTNULL);CREATETABLEorder_product_

mysql - SQL "GROUP BY"和 "INNER JOIN"语句一起

我有两个ANIMAL和NEED表:ANIMALNEEDNameSpeciesBirthdayA_SpeciesTypeKoala1Phascolarctidae02-10-2014PhascolarctidaeVeg.Bear1Ursinae03-10-2016UrsinaeVeg.Koala2Phascolarctidae04-09-2015UrsinaeMeetCattle1Bovidae20.03.2017UrsinaeFishWhale1Cetacea08.05.2010BovidaeVeg.CetaceaFish我要选择下表NameTypeKoala1Veg.Koala2Ve

mysql - 任意选择的非聚合列是否保证来自与 MySQL GROUP BY 相同的行?

更多的是一个有趣的问题而不是我想要使用的东西假设我运行以下查询:SELECTsu.id,su.name,sua.line_1,sua.line_2FROMsite_usersuJOINsite_user_addresssuaONsua.user_id=su.idWHEREsu.id=1GROUPBYsu.id/*idisthePKforsite_user*/sua.line_1和sua.line_2是否保证从同一site_user_address行返回?我知道,至少site_user_address行是任意选择的我在文档中找不到任何东西,也想不出一个可靠的方法来测试它更新据我所知,这不