草庐IT

left-join

全部标签

mysql - SELECT COUNT with JOIN optimization for tables with > 100M rows

我有以下问题SELECTSUBSTRING(a0_.created_dateFROM1FOR10)ASsclr_0,COUNT(1)ASsclr_1FROMapplicationsa0_INNERJOINpackage_codesp1_ONa0_.id=p1_.application_idWHEREa0_.created_dateBETWEEN'2019-01-01'AND'2020-01-01'ANDp1_.type='Package1'GROUPBYsclr_0---编辑---你们中的大多数人都关注GROUPBY和SUBSTRING,但这不是问题的根源。以下查询具有相同的执行时间:

sql - 帮助将子查询转换为带连接的查询

我被困在一个带有连接的查询上。客户的站点正在运行mysql4,因此子查询不是一个选项。我使用连接重写的尝试进行得不太顺利。我需要选择contractors表中列出的所有承包商,这些承包商不在具有给定标签ID和县ID的contractors2label表中。然而,它们可能被列在contractors2label与其他标签和县ID。表:承包商cID(primary,autonumber)company(varchar)...etc...表:contractors2labelcIDlabelIDcountyIDpsID这个带有子查询的查询有效:SELECTcompany,contractor

sql - SQL/MySQL中没有Primary ID索引时,是否可以使用Left Outer Join来查找重复项?

我想尝试使用OuterJoin找出表中的重复项:如果一个表有PrimaryIndexID,那么下面的外连接可以找出重名:mysql>select*fromgifts;+--------+------------+-----------------+---------------------+|giftID|name|filename|effectiveTime|+--------+------------+-----------------+---------------------+|2|teddybear|bear.jpg|2010-04-2404:36:03||3|coffee|

MySQL 查询连接和计数查询

我正在尝试从一个网络应用程序的数据库中提取值,管理员可以在该应用程序中将公司添加到指定行业的列表中。此请求需要提取每个行业的名称以及附属活跃公司的数量,作为主持人的概览。这些是我的表格:companies____________________________________|id|company|active||---------------------------|--------||12|Ton-o-BricksHaulage|0||16|Roofs'n'Walls|1||23|HandyServices|1||39|Carpentharry|1||---------------

php - MySQL Left Join、Group By、Order By、Limit = 糟糕的性能

我目前正在开发一个应用程序,允许用户使用各种参数搜索文档数据库并返回一组分页结果。我正在用PHP/MySQL构建它,这不是我常用的开发平台,但到目前为止它已经很棒了。我遇到的问题是,为了返回完整的结果集,我必须在每个表上使用LEFTJOIN,这完全破坏了我的性能。开发数据库的人说我正在使用的查询将返回正确的结果,所以这就是我必须使用的。查询在下面,我绝不是SQL专家,需要一些帮助。我一直在想,将查询拆分成子查询可能会更好?以下是我当前的查询:SELECTd.title,d.deposition_id,d.folio_start,d.folio_end,pl.place_id,p.sur

sql - mysql连接表 - 选择最新的行

我有以下两个MySQL表表名NAME_IDNAME1name12name23name3表状态STATUS_IDNAME_IDTIMESTAMP112010-12-2012:00222010-12-2010:00332010-12-2010:30432010-12-2014:00我想从表NAMES中选择所有信息,并从表STATUS添加最近对应的TIMESTAMP列结果NAME_IDNAMETIMESTAMP1name12010-12-2012:002name22010-12-2010:003name32010-12-2014:00我卡在这个了。如何仅在较新的时间戳上加入?

mysql join 2 tables - 显示一个表中的所有行

我有两个表,像这样:表“a”包含:id|namestock1|fullnamestock2|fullname2stock3|fullname3表“b”包含给定库存的产品数量。id|stock_id|quantity|product_id|1|stock1|3|132|stock3|4|133|stock1|1|54|stock2|2|2现在我需要合并这两个表,以便每个产品都从表“a”中获取其库存全名,如果未给出库存的数量,它仍会显示数量为0的行。所以在我的示例中,product_id13将显示为:stock|quanitity|product_id|stock_fullnamestoc

php - 未成功使用 JOIN 查询 MySQL 数据库与 PHP

这是我的数据库架构:user*user_id*username*password*etcquiz_response*response_id*user_id*question_id*response*is_correct*answer_timequestion_choice*choice_id*question_id*is_correct*choice(VARCHAR)question*question_id*quiz_id*question(VARCHAR)quiz*quiz_id*title(VARCHAR)我正在使用PHP构建测验网络应用程序,但遇到了问题。目前,我正在尝试——没有

mysql - Left Join 2 tables on 1 table

这一定很简单,但我想不出任何解决方案,也无法在某处找到答案...我得到了“用户”表和一张表'blogs'(user_id,blogpost)和一张表“消息”(user_id,消息)我想得到以下结果:User|count(blogs)|count(messages)Jim|0|3Tom|2|3Tim|0|1Foo|2|0所以我做的是:SELECTu.id,count(b.id),count(m.id)FROM`users`uLEFTJOINblogsbONb.user_id=u.idLEFTJOINmessagesmONm.user_id=u.idGROUPBYu.id这显然是行不通的,

mysql - SQL DELETE 从多个表

当我尝试执行这个删除查询时,SQL给我这个错误:“无法删除或更新父行:外键约束失败(carpooling.pedido,CONSTRAINTpedido_ibfk_1FOREIGNKEY(ID_ROTA)引用rota(ID_ROTA))"查询:DELETErota,rota_alerta,pedidoFROMrotaLEFTOUTERJOINpedidoONrota.ID_ROTA=pedido.ID_ROTALEFTOUTERJOINrota_alertaONrota.ID_ROTA=rota_alerta.ID_ROTAWHERErota.ID_UTILIZADOR=26;我正在尝