草庐IT

join_group

全部标签

Mysql 在使用多个 JOIN 时返回不正确的 COUNT?

我有3个表:NAMES、REGISTRATIONS和RENEWALS。我正在使用LEFTJOIN连接具有公共(public)ID的3个表。我需要统计每个用户的REGISTRATIONS数量,以及RENEWALS数量。我试过在GROUPBY字段中使用不同的选项,但似乎都不起作用。这是SELECT语句:SELECTnames.name_idAS'NamesID',names.nameASName,count(registrations.date)ASRegistrations,count(renewals.date)ASRenewalsFROMnamesLEFTJOINregistrati

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子查询比join快多了

我有以下查询,它们都返回相同的结果和行数:select*from(selectUNIX_TIMESTAMP(network_time)*1000asepoch_network_datetime,hbrl.business_rule_id,display_advertiser_id,hbrl.campaign_id,truncate(sum(coalesce(hbrl.ad_spend_network,0))/100000.0,2)asdemand_ad_spend_network,sum(coalesce(hbrl.ad_view,0))asdemand_ad_view,sum(coa

具有条件聚合的 MySQL UNION ALL (Full Join)

我有三个表:CREATETABLE`Agreement`(`AID`bigint(20)NOTNULLAUTO_INCREMENT,`FLAGS`bigint(20)NOTNULLDEFAULT'0',PRIMARYKEY(`AID`));CREATETABLE`Assessment`(`ASMID`bigint(20)NOTNULLAUTO_INCREMENT,`AID`bigint(20)NOTNULLDEFAULT'0',`Amount`decimal(19,4)NOTNULLDEFAULT'0.0000',`Description`text,PRIMARYKEY(`ASMID`

mysql - 单表 SELF JOIN 备选方案/除外/相交

我目前正在处理一个查询,该查询根据书的属性从表中搜索书籍。该表包含超过5000万行,结构如下:-----------------------|book_id|attr_id|-----------------------|2005207|35021|-----------------------|2005207|28106|-----------------------|2005207|27173|-----------------------|2005207|35109|-----------------------|2005207|34999|-------------------

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 - 将 SELECT 中的相关子查询重写为 JOIN 语句

我有以下源表:CREATETABLEtest(`step`varchar(1),`cost_time`int,`rank_no`int);INSERTINTOtest(`step`,`cost_time`,`rank_no`)VALUES('a',10,1),('b',20,2),('c',30,3);然后像这样查询:selectmain.step,main.cost_time,main.rank_no,(selectsum(sub.cost_time)fromtestsubwheresub.rank_no结果是预期的:|step|cost_time|rank_no|total_tim

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行是任意选择的我在文档中找不到任何东西,也想不出一个可靠的方法来测试它更新据我所知,这不

mysql - SQL - OUTER JOIN a UNION-ed 表

我是sql新手。我有三个表,我想UNION前两个表,然后OUTERJOIN第三个表的结果,只选择所需的日期。我已经做了UNION但是我不知道OUTERJOIN会怎么进来。这些是我的表格:TABLE_1|ID|Name|-------------------|1|John||2|Peter|TABLE_2|ID|Name|-------------------|3|Anne||4|May|TABLE_3|ID|Name|Date|--------------------------------|2|Peter|2019-02-13||3|Anne|2019-02-12||4|May|20