草庐IT

SELECT-INSERT

全部标签

mysql - Zend Db Select 中带有 JOINLEFT 的 GROUP_CONCAT

假设我有2张tablearticlesidtitle1Article12Article2Imagesidarticle_idimage11a.png21b.png32c.png42d.png我想要的只是检索所有带有图片的文章。例如:article_idtitleimages1Article1a.png,b.png2Article2c.png,d.png我如何使用Zend_Db_Select做到这一点?我尝试过类似的方法,但没有成功:$select=$this->getDbTable()->select()->setIntegrityCheck(false)->distinct();$s

mysql - MYSQL SELECT 语句中最常见的数字

我试图让MYSql语句吐出字段中最常见的数字。我相信我应该使用COUNT(QUANTITY)但我对GROUPBY和ORDERBY感到困惑,我似乎无法获得正确的MODE(最常见的数字)。*编辑*这是一个示例表:QUANTITY|ORDER_NUMBER15154141235151136151235661256585142410514452551485MYSql语句应该吐出数字5,因为它出现的频率最高 最佳答案 SELECTQUANTITY,COUNT(*)FROM...GROUPBY1ORDERBY2DESCLIMIT1;

mysql select case 多列作为

我想用这样的东西设置多个字段,我该如何让它工作?SelectTableId,CASEWHENStartTime>ApptTHENFieldASField_1FieldIdASFieldId_1WHENStartTimeBETWEENApptANDDATE_ADD(Appt,INTERVAL1MONTH)THENFieldASField_2FieldIdASFieldId_2ENDFROMTableA;它不起作用,ASField_1附近的语法错误。 最佳答案 您正试图在SQL语句中执行类似于宏扩展的操作,但您无法执行此操作。解决问题的

sql - 如何在 MySQL select 中使用 XPATH?

假设我有一个名为“xml”的表,它将XML文件存储在单个列“data”中。我将如何编写运行XPath并仅返回与该XPath匹配的行的MySQL查询? 最佳答案 SELECT*FROMxmlWHEREEXTRACTVALUE(data,'')!='';但是,您应该注意,MySQL对XPath的支持是有限制的。EXTRACTVALUE()仅返回CDATA。并非所有XPath结构都受支持。文档page中“XPath限制”标题下的详细信息在abatishchev的回答中提到。 关于sql-如何在

MYSQL INSERT SELECT问题

我有点难以理解如何执行一些INSERTSELECT。例如我有两个表。TABLE:usersid|name|gender1|John|m2|Mary|fTABLE:websitefid|url|id1|www.desilva.biz|22|gidhelp.com|4现在假设我想向表格网站添加另一个查询。我得到两个变量,比方说:$user=John;$site="www.google.com";我想从用户表中选择John的ID,并在一条语句中将其插入到网站表中。我该怎么做? 最佳答案 假设您的变量已经正确转义并且不受SQL注入(inje

sql - mysql SELECT COUNT(*) ... GROUP BY ...不返回计数为零的行

SELECTstudent_id,section,count(*)astotalFROMraw_datarWHEREresponse=1GROUPBYstudent_id,section测试分为4个部分,每个部分都有不同数量的问题。我想知道,对于每个学生和每个部分,他们正确回答了多少个问题(response=1)。但是,对于此查询,如果学生在给定部分没有正确回答问题,则该行将完全从我的结果集中丢失。我怎样才能确保对于每个学生,总是返回4行,即使一行的“总计”为0?这是我的结果集:student_idsectiontotal1DAP--2931MEA--1621NNR--131-->mi

php - 我可以使用 PHP 在两个不同的服务器上使用 MySql Create Select 吗?

我正在尝试在两个不同的MySQL服务器之间使用PHP和MySQL的CreateTableSelect。我不确定这可以用SQL来完成。我没有收到任何错误,但我也什么也没做:";$sql="CREATETABLE$row[0]SELECT*FROM$db2.$dbmaster.$row[0]";mysql_query($sql,$db1);echo"Table:{$row[0]}created";}echo"done...";mysql_free_result($result);?>那一行:$sql="CREATETABLE$row[0]SELECT*FROM$db2.$dbmaster.

PHP/MySQL : How to insert a gzcompress-ed string into a text mysql field?

我一直在尝试将json编码的字符串压缩并存储到mysql中,但出现“意外的/”错误。我也试过像这样使用addslashes:addslashes(gzcompress(json_encode($mystring)));并显示json_decode(gzuncompress(stripslashes($mystring)));但是插入失败并出现我提到的错误。我在某处读到一个带有gzcompress的字符串应该存储为一个blob,但我希望有一种方法可以将它存储在mysql文本字段中,这样我就不必弄乱数据库了。PS:有些人在这里要求提供完整的错误信息:Warning:Unexpectedch

php - "REPLACE INTO"与 INSERT [IF]

好吧,我有一个问题,不是真正的问题。我的数据库中有一个表,相当小,只有3列,但有增长的潜力。我的问题有两种解决方案,但不确定为什么要使用其中一种。我有一段数据,它可能已经存在也可能不存在于数据库中。解决这个问题的两种方法。我有唯一的ID,所以很容易检查。检查记录是否存在于数据库中,如果不存在,则INSERTINTO数据库使用REPLACEINTO,因为我已经有了ID。我现在的问题是。哪个更好用。使用这两个结果中的任何一个的优缺点是什么。还是有更好的结果?请注意,数据完全相同,因此记录不可能更新为更新的值。因此REPLACEINTO将插入已经存在的数据。 最佳

php - 通过 "SELECT"命令选择每组的前两条记录的最佳方法是什么?

例如我有下表:idgroupdata11aaa21aaa32aaa42aaa52aaa63aaa73aaa83aaa通过“SELECT”命令选择每组前两条记录的最佳方法是什么?如果没有好的方法,您建议使用什么例程?(PHP)(模型结果)11aaa21aaa32aaa42aaa63aaa73aaa我知道在子查询中通过a.id>=b.id进行交叉连接是可行的,但我正在寻找一种更具可扩展性的解决方案,可以应用于具有数百万条记录的表。谢谢 最佳答案 selecta.*fromTablenameawhere(selectcount(*)fro