jjzjj

subQuery

全部标签

mysql - 如何在子查询中使用主查询的值

我试图运行一个基于主要查询值之一的子查询,但我总是得到0作为值。这是我的查询:SELECTID,(SELECTCOUNT(*)FROM`post_meta`WHERE`post_id`IN(SELECT`ID`FROM`wp_posts`WHERE`post_title`=posts.ID))AScounterFROMwp_posts;如果我只运行带有id号而不是posts.ID的子查询,它会返回一个很好的值。 最佳答案 我确实相信子查询中的简单连接将为您提供正确的COUNT:SELECTposts.ID,(SELECTCOUNT(

MySQL 子查询和临时表很慢

我想优化以下查询:SELECTSQL_NO_CACHEt.topic_idFROMbb_topicst,bb_posterspsWHEREt.topic_id=ps.topic_idANDforum_idIN(2,6,7,10,15,20)ORDERBYps.timestampdescLIMIT20Querytook0.1475sec所以一开始我用INNERJOIN子查询替换了WHEREIN:SELECTSQL_NO_CACHEt.topic_idFROM(SELECT*FROMbb_topicsWHEREforum_idIN(2,6,7,10,15,20))tINNERJOINbb_

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

sql - 子查询并为 MySQL 中的多个外键选择最旧的行

我有两个表:product(idproduct,name,description,tax)product_storage(idstorage,idproduct,added,quantity,price)对于每个产品,它可能有不同的价格,最旧的是“先到先得”例如在存储中我有:1,1,2010-01-01,0,10.02,1,2010-01-02,0,11.03,1,2010-01-03,10,12.04,2,2010-01-04,0,12.05,2,2010-01-05,10,11.06,2,2010-01-06,10,13.07,3,2010-01-07,10,14.08,3,201

mysql - 我可以不使用 View 直接加入 SELECT 语句吗?

是否可以在不创建View的情况下执行以下操作?IE。直接加入这些SELECT?CREATEVIEWtemp_firstASSELECTMIN(DATE)ASmindate,idFROMmytableGROUPBYid#SELECT*,t.mindateFROMaggregate_analysisaJOINtemp_firsttONt.id=a.idWHERE(....)ORDERBYmindateDESC 最佳答案 您应该能够用子查询/子选择替换选择中的View引用。看看SubqueriesintheFROMClauseSubque

mysql - MySQL 上每周的 ORDER BY

我想从我的数据库中随机选择一个条目,但不是在每次调用时都选择,而是取决于其他一些外部因素,例如一年中的星期或一年中的一天。我怎样才能做到这一点?这会告诉我当前的一周:SELECTDATE_FORMAT(CURDATE(),'%u');因此,要获得基于此值的条目,我选择条目号:SELECT(DATE_FORMAT(CURDATE(),'%u')+0)MOD(SELECTCOUNT(*)FROMmy_viewORDERBYid);所以,我的尝试:SELECT*FROMmy_viewLIMIT(SELECT(SELECTDATE_FORMAT(CURDATE(),'%u')+0)MOD(SE

mysql - 使用 Mysql 的子查询(AGAINST 的参数不正确)

当我使用MySql执行此查询和MATCHAGAINST时(请参阅第一个查询),此查询中的问题产生了如下错误这(查看错误)或者当我使用=执行相同的查询时,它们正常执行(查看第二个查询).我的问题是我在against声明中做错了什么?Query1stSELECT(SELECTCOUNT(up.`user_id`)FROM`users_post`upWHEREMATCH(up.`user_id`)AGAINST(uf.`user_id`))ASuser_countFROM`users`ufErrorentercodehereErrorCode:1210Incorrectargumentsto

mysql - 检查日期范围内的房间可用性

你好,我有2个table房间和预订,但我的table结构有点不同,在bookings表中有roomid,date,status例如:101,2012-12-10,0101,2012-12-11,0101,2012-12-12,1101,2012-12-13,0102,2012-12-10,0102,2012-12-11,0102,2012-12-12,0我想查找2012-12-10和2012-12-13之间的可用房间根据这个要求,应该只返回102房间。我试过了SELECTidFROMstatusWHEREstatus='0'ANDdatebetween'2012-12-10'AND'2

mysql ->、<、<>、= 内部连接条件的运算符

我的老板按我的方式扔了这段代码,我很难理解内部连接的最后一个ON语句是如何工作的。我认为他也不完全理解它(但它完成了工作)。真的只是想了解更多有关SQL工作原理的信息。非常感谢!这是On语句and(A.Submitted_Date>X.Submitted_Date)))这里是查询SELECTAA.ID,AA.Submitted_DateasDate_StatusFROMReportasAAwhereAA.Submitted_Datein--START(SELECTX.Submitted_DateFROMReportasAinnerjoin--StartFindAllDatesSubmi

php - ORDER BY RAND() 用于多列(垂直排列每列的内容)

我正在寻找一个mysql解决方案,让多个列从该列输出一个随机字段。我现在的查询只随机选择整行,但不会随机选择分隔的列。$sql="SELECTcol1,col2,col3,col4FROMtableORDERBYRAND()limit4";我试过子查询,但我不熟悉,所以如果有人能帮忙...... 最佳答案 试试这个:SELECTCASErndWHEN1THENcol1WHEN2THENcol2WHEN3THENcol3WHEN4THENcol4ENDAScolFROM(SELECTcol1,col2,col3,col4,FLOOR(