草庐IT

join_group

全部标签

mysql - 使用 JOIN 选择在第二个表上有 2 个条件的行

我有2个表:goods和cats_goods(关系表)。商品:id,name。Cats_goods:good_id,cat_id。如何只选择cat_id=4和cat_id=24的goods?尝试过:SELECTDISTINCT*FROM`goods`AS`g`JOIN`cats_goods`AS`cg`ON(`g`.`id`=`cg`.`good_id`)WHERE(`cg`.`cat_id`=24AND`cg`.`cat_id`=4)查询给出0个结果!更新:对于每个good,在cats_goods中有1行cat_id=4,在cats_goods中有一行cat_id=24。我只需要选择

mysql - SQL:在不覆盖行的情况下加入后的 GROUP BY?

我有一张篮球联赛表、一张球队表和一张球员表,如下所示:LEAGUESID|NAME|------------------1|NBA|2|ABA|TEAMS:ID|NAME|LEAGUE_ID------------------------------20|BULLS|121|KNICKS|2PLAYERS:ID|TEAM_ID|FIRST_NAME|LAST_NAME|---------------------------------------------1|21|John|Starks|2|21|Patrick|Ewing|给定一个联赛ID,我想从该联赛的所有球队中检索所有球员的姓

mysql - 提高性能或重新设计 'greatest-n-per-group' mysql 查询

我正在使用MySQL5,目前我有一个查询可以获取我需要的信息,但我觉得它在性能方面可以得到改进。这是我构建的查询(大致遵循thisguide):SELECTd.*,dc.date_change,dc.cwd,h.nameashubFROMlivedata_domASdLEFTJOIN(SELECTdc1.*FROMlivedata_domcablingasdc1LEFTJOINlivedata_domcablingASdc2ONdc1.dom_id=dc2.dom_idANDdc1.date_change编辑:使用ORDERBY+GROUPBY来避免获得多个dom条目,以防“domca

mysql - 为什么递归查询比 join 和 group by 更快?

我正在使用MySQL服务器5.5并具有下一个数据库结构---------------------------------------------------------Table`mydb`.`User`-------------------------------------------------------CREATETABLEIFNOTEXISTS`mydb`.`User`(`id`INTNOTNULL,`Name`VARCHAR(45)NOTNULL,PRIMARYKEY(`id`))ENGINE=InnoDB;--------------------------------

mysql - 使用连接表中的两个计数编写 JOIN 查询

我已经花了几个小时来解决这个问题,但我无法让计数正常工作。希望有人能帮忙?!我有一个项目表和任务表,链接在project_id上。我可以通过以下查询获取project_id、project_name和status_id:SELECTa.project_id,a.project_name,b.status_idFROMproject_listasaINNERJOINtask_listasbONa.project_id=b.project_id我想为每个项目选择一条记录,并根据status_id添加两个计数字段。在伪代码中:SELECTa.project_id,a.project_name

在左连接中使用 group by 的 MySQL 子查询 - 优化

MySQL似乎无法优化带有GROUPBY子查询的选择,结果执行时间很长。对于这种常见场景,必须有已知的优化。假设我们正在尝试从数据库中返回所有订单,并带有一个标志,指示它是否是客户的第一个订单。CREATETABLEorders(orderint,customerint,datedate);检索客户的第一批订单非常快。SELECTcustomer,min(order)asfirst_orderFROMordersGROUPBYcustomer;但是,一旦我们使用子查询将其与完整订单集连接起来,它就会变得非常慢SELECTorder,first_orderFROMordersLEFTJO

mysql - 哪个更快 : COUNT(DISTINCT Column) vs. COUNT(*) ... GROUP BY Column

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。我正在使用MySQL,并且我多次读到COUNT(*)通常比COUNT(Column)快。但是,我需要获取COUNT的distinct行。据我了解,我可以通过两种不同的方式做到这一点:a)选择计数(不同列)...或b)SELECTCOUNT(*)...GROUPBYColumn一般来说,哪个更快?如果它依赖,那么它依赖什么?

右表中的 MySQL Left Join 和 NULL 列

我需要加入以下两个MySQL表:CREATETABLE`tbl_L`(`datetime`datetimeNOTNULL,`value`decimal(14,8)DEFAULTNULL,`series_id`int(11)NOTNULL,PRIMARYKEY(`series_id`,`datetime`))ENGINE=InnoDBDEFAULTCHARSET=utf8CREATETABLE`tbl_R`(`datetime`datetimeNOTNULL,`value`decimal(14,8)DEFAULTNULL,`series_id`int(11)NOTNULL,PRIMARY

mysql - 如何查询group by 2条件?

我这里有table。我怎么能SELECTsum(gload1)as'g1',sum(gload2)as'g2'.sum(gload3)as'g3',sum(gload4)as'g4'FROMmemberWHEREage=15-20,21-25,26-30GROUPBYgender;结果是这样的:只是样本我怎样才能这样查询。感谢您的进步。 最佳答案 SELECTCASEWHEN`age`>=15AND`age`=21AND`age`=26AND`age`参见SQLFiddle 关于mysq

MySQL Group by - 获取计数为零的列

我试过谴责其他答案,但运气不好,所以才问。其他年份我有一张table和几张类似的table这是表结构--------------------------------STATUS|Year|CompanyName--------------------------------Certified|2010|GoogleCert-Denied|2010|GoogleDenied|2010|GoogleWithdrawn|2010|GoogleDenied|2010|MicrosoftWithdrawn|2010|MicrosoftCertified|2010|AppleCert-Denied