jjzjj

subqueries

全部标签

php - MySQL+PHP : optimise ranking query and count subquery

这是原始数据,想根据分数(count(tbl_1.id))对它们进行排名。[tbl_1]===========id|name===========1|peter2|jane1|peter2|jane3|harry3|harry3|harry3|harry4|ron所以制作临时表(tbl_2)来计算每个id的分数。SELECTid,name,COUNT(id)ASscoreFROMtbl_1GROUPBYidORDERBYscoreDESC;LIMIT0,30;那么结果是;[tbl_2]===================id|name|score===================

MySQL : Left Join and Inner Join in a subquery

我有3个表,我已经加入,但我想从表3添加一个字段,该字段与表2内部连接。Table1idnamesurnametable2_fkTable2identry_nameentry_codetable3_fkTable3idtype_nametype_descSELECT`Name`,`TypeDescription`(SELECTTable1.nameAS`Name`,Table1.surnameAS`Surname`,t2.entry_nameAS`Entry`,t2.entry_codeAS`EntryCode`,t3.type_nameAS`TypeName`,t3.type_des

mysql - 奇怪的 SQL 代码 : Why do they use a subquery instead of join?

我遇到了下面的MySQL代码:SELECTServiceFeeFROMShowsWHEREID=(SELECTShowIDFROMOrdersWHEREID=?)这让我很奇怪,因为编写这段代码的人通常使用SQL连接。我会重写它SELECTServiceFeeFROMShowsINNERJOINOrdersONShows.ID=Orders.ShowIDWHEREOrders.ID=?我的问题:为什么要用子查询编写这段代码以及用连接重写它是否完全安全(在所有情况下产生相同的结果)是否完全安全?有什么注意事项吗? 最佳答案 “这段代码是

php - 推进 2 : Using a subquery as the value for a virtual column

我们有一个包含所有产品的表格和一个包含所有订购商品的单独表格。订购的商品基本上是已订购产品的副本,与其源产品相关(通过外键)和仅与订购商品相关的附加数据,如订购数量。通过这种方式,我们确保了订单数据的一致性,因为即使我们将来可能会删除旧产品,旧订单仍然以订单项的形式包含所有已订购的产品。订单和订单商品通过一个简单的交叉引用表(如Propel文档中的表格)连接,只有两个字段:order_id和item_id。现在我必须实现一个功能来计算尚未发货的产品的订购数量,这样我们就可以跟踪我们的库存中有多少仍可供销售以及实际已经售出多少,但尚未发货。为此,我必须选择与给定源产品相关且仅属于未发货订

MySQL 错误 : NOT IN + subquery using GROUP BY HAVING returns nothing

我正在查询这张表:SKUaaaabbbbbbbbNULL这是查询:select*fromTESTasNwhereN.SKUNOTIN(selectSKUfromTESTgroupbySKUhavingcount(*)>1);我希望查询返回“aaaa”,但是它什么也没返回。我期望的原因是因为下面的子查询只返回'bbbb':selectSKUfromTESTgroupbySKUhavingcount(*)>1因此,'aaaa'不在子查询结果中。要显示错误,请将这些语句复制并粘贴到您的MySQLIDE中以创建模式:droptableifexistsTEST;createtableTEST(S

MySQL - 如何在 WHERE x IN (<subquery>) 中使用索引

我正在使用此查询获取{名称以小写“a”开头的客户}的所有员工:SELECT*FROMemployeesWHEREclient_idIN(SELECTidFROMclientsWHEREnameLIKE'a%')employees.client_id列是一个整数,带有INDEXclient_id(index_id)。子查询应该恕我直言返回一个id-s列表,然后在WHERE子句中使用。当我EXPLAIN查询时,主要查询不使用索引(type:ALL)。但是当我EXPLAIN从子查询中获取的列表(例如SELECT...WHEREclient_idIN(121,184,501)),EXPLAIN

mysql - SQL : "NOT IN" subquery optimization or alternatives

我有两个数据库表:“places”和“translations”。地名的翻译是通过从“地方”中选择记录进行的,这些记录还没有指定语言的翻译:SELECT`id`,`name`FROM`places`WHERE`id`NOTIN(SELECT`place_id`FROM`translations`WHERE`lang`='en')这对7000个地点记录工作正常,但当翻译数量达到5000时崩溃。从那时起,查询需要大约10秒并返回错误:2006-MySQLserverhasgoneaway据我了解,这里的主要问题是子查询返回了很多结果,但是如果我需要选择所有尚未翻译的地方,我该如何解决呢?我

ios - 使用嵌套的 NSPredicate SUBQUERY

这是我的对象图的相关部分:Store>GiftPerson>Tag我希望能够通过tag.filtering属性过滤商店,如下所示:ANYgifts.person.tags.filtering==YES但我明白为什么这行不通,因为一对多键的限制。所以我正在尝试使用一组嵌套的SUBQUERY谓词,如下所示:NSPredicate*filterPredicate=[NSPredicatepredicateWithFormat:@"(0!=SUBQUERY(gifts,$x,(0!=SUBQUERY($x.person.tags,$y,$y.filtering==YES).@count)).@

java - HQL Select 可以在另一个查询的结果集上吗?

HQLSelect可以在另一个查询的结果集上吗?例如:SELECTCOUNT(*)FROM(SELECT*FROMTable)我可以在SQL中完成,但是当我在HQL中像上面那样尝试时,它只显示语法错误“意外的标记:(靠近第1行,第22列...” 最佳答案 HQL确实支持subqueries,但是它们只能出现在select或where子句中。您提供的示例最好用HQL编写为直接语句。例如:selectcount(*)fromtablet(wheretableistheentityname)如果查询涉及比(select*fromTable

Hive(25):Select高级查询之Subqueries子查询

1from子句中子查询在Hive0.12版本,仅在FROM子句中支持子查询。而且必须要给子查询一个名称,因为FROM子句中的每个表都必须有一个名称。子查询返回结果中的列必须具有唯一的名称。子查询返回结果中的列在外部查询中可用,就像真实表的列一样。子查询也可以是带有UNION的查询表达式。Hive支持任意级别的子查询,也就是所谓的嵌套子查询。Hive0.13.0和更高版本中的子查询名称之前可以包含可选关键字“AS”。--from子句中子查询(Subqueries)--子查询SELECTnumFROM(selectnum,namefromstudent_local)tmp;--包含UNIONALL