jjzjj

subQuery

全部标签

php - 获取 ID 连接到逗号分隔列表的所有匹配记录

我有如下两个数据库表:表单身份证姓名字段(varchar-255)表单域身份证姓名输入类型表单的示例数据IdNameFields1Form11,2,32Form21,2FormFields的示例数据IdNameInputType1FNameTEXT2LnameTEXT3EmailTEXT现在我写查询如下:SELECT*FROMFormFieldsWHEREIdIN(SELECTFieldsFROMFormWHEREId=2)而我只得到如下一条记录:IdNameInputType1FNameTEXT但我想要FormFields表的所有记录,其Id存在于Form的Fields列中table

php - 使用 union all 并基于 2 个不同条件选择 25 条记录 (9+16) 的单个 mysql 查询

我需要使用mysql获取25条记录,其中前9条必须基于likes计数的降序(随机选择)来自200个最高赞赏和平衡从剩余的项目中随机16个(不包括9个,已过滤)。是否可以使用单个mysql查询来执行此操作?任何帮助将不胜感激。这是我的查询...(SELECT*FROM(SELECTtiles.,users.first_name,users.last_name,users.mosaicname,users.country,users.city,users.state,users.profile_image,COUNT(tile_appreciations.tile_id)ASappreci

mysql - 单表子查询

好的,我有一张tableTasks--TaskId(uniqueautoincprimary)ChildOf(ContainstaskIDofparent,or0iftoptier(noparent))我需要编写一个查询来选择ChildOf=0的所有记录......简单吧?好的,但还需要返回另一列结果,告诉每个任务有多少个child......所以结果看起来像这样......TaskID...ChildOf...countChildren37......0....342......0....099......0....1etc....我知道我需要的两个查询是这样的,但需要以某种方式将它

带有连接的选择查询中的 MySQL 5 亿行表

我担心表完全填充后下面查询的性能。到目前为止,它正在开发中并且在处理虚拟数据时表现良好。“adress_zoo”表在填满后将包含大约5亿条记录。“adress_zoo”表如下所示:CREATETABLE`adress_zoo`(`adress_id`int(11)NOTNULL,`zoo_id`int(11)NOTNULL,UNIQUEKEY`pk`(`adress_id`,`zoo_id`),KEY`adress_id`(`adress_id`))ENGINE=InnoDBDEFAULTCHARSET=latin1;其他表每个最多包含500条记录。完整的查询如下所示:SELECTa.

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===================

sql - 如果条件为假,是否优化了条件子查询?

我有一个表foo和一个表bar,其中每个foo可能有一个bar(一个bar可能属于多个foo)。现在我需要选择所有带条的foos。我的sql看起来像这样SELECT*FROMfoofWHERE[...]AND($paramISNULLOR(SELECT((COUNT(*))>0)FROMbarbWHEREf.bar=b.id))$param在运行时被替换。问题是:param为null时子查询是否执行,还是dbms会把子查询优化掉?我们正在使用mysql、mssql和oracle。上述这些有区别吗? 最佳答案 这取决于。如果您每次都将

mysql - 仍然对 MySQL 中的 having 和子查询感到困惑

我正在尝试根据产品类别页面的方面来选择产品。基本结构是:Product_Facets--------------------------------UIDProductIDFacetIDFacetOptionID1111211231244127Products--------------------------------ProductIDProductName1SomeWidget我想选择所有产品,这些产品的分面记录设置为用户选择分面的ALL的正确值。所以如果我有一个请求:FacetID1设置为值6ANDFacetID2设置为值97ANDFacetID5设置为值43AND我希望查询从

MySQL乘法子查询结果

我有一个看起来像这样的数据表+---------+-----------+------------+------------+|u_id|a_id|count|weighted|+---------+-----------+------------+------------+|1|1|17|0.0521472||1|2|80|0.245399||1|3|2|0.00613497||1|4|1|0.00306748||1|5|1|0.00306748||1|6|20|0.0613497||1|7|3|0.00920245||1|8|100|0.306748||1|9|100|0.3067

Mysql计算重复行的百分比

所以我试图计算我的系统中每家餐厅的重复订单量。这被定义为从该餐厅多次订购的用户数量(基于他们的电子邮件地址eo_email)。schema下的例子这是代表我的餐厅的表格CREATETABLEIFNOTEXISTS`lf_restaurants`(`r_id`int(8)NOTNULLAUTO_INCREMENT,`r_name`varchar(128)DEFAULTNOTNULL,PRIMARYKEY(`r_id`))ENGINE=MyISAMDEFAULTCHARSET=latin1;INSERTINTO`lf_restaurants`(`eo_id`,`eo_ref_id`)VAL

mysql - ORDER BY WHERE IN(子查询)

我有这样的查询:SELECTproducts.*FROMproductsWHEREproducts.code='searchword'ORproducts.idIN(SELECTproduct_names.product_idFROMproduct_namesWHEREMATCH(product_names.name)AGAINST('+search*+word*'INBOOLEANMODE)ORDERBYproduct_names.sorting_field)ORDERBY???我希望主查询的顺序与WHEREIN()的顺序相同。我似乎无法使用FIELD或FIND_IN_SET,因为我