草庐IT

select-case

全部标签

mysql - 如何将此 MySQL SELECT 查询转换为 DELETE 查询?

我想从数据库中删除某些项目。我有以下查询:SELECT*FROMsheets,entriesWHEREentries.sheetID=sheets.idANDsheets.clientID=13这有效,并返回2个结果。现在我想将此SELECT查询转换为DELETE查询。但是,以下内容不起作用:DELETEFROMsheets,entriesWHEREentries.sheetID=sheets.idANDsheets.clientID=13MySQL抛出以下错误:1064-YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespon

mysql - mysql select中的缩写,它们是什么意思?

我无法理解此查询中发生的情况:$db->select("selectr.id,m.mailing_id,r.email,m.donefromlp_relationsr,lp_mailings_relationsmwherem.relation_id=r.idandm.mailing_id=?orderbyr.name",$rs[$i]["id"]它是关于字母r的。和m。在字段名之前,这些不是表名,但我怀疑是某种连接的缩写,但我以前从未见过这种方式。我可以重写我自己的查询来完成工作,但我想知道这意味着什么,所以我可以自己解决问题(邮件发送两次)在此先感谢您的帮助!

MYSQL 获取最低值的记录 | View 的 SELECT 在 FROM 子句中包含一个子查询

我一直在研究这个查询,它让我抓狂。我有一个产品表和一个包含子产品的表。简而言之,我想创建一个包含产品数据和子产品的最低(折扣)价格的View。(想想一件衬衫,有几个子产品(颜色/尺码)等)其次,我想在VIEW中使用这个查询,这部分让我抓狂。我现在的查询:SELECTm.*fromproduct_itemsmjoin(selectproduct_id,min(price_discount)mdfromproduct_itemsgroupbyproduct_id)mmonm.product_id=mm.product_idandm.price_discount=md此查询有效,我得到了很好

mysql - 为 SELECT 查询合并 2 个表?

首先..这是我创建的两个表(没有不相关的列)..CREATETABLEusers_history1(circuittinyint(1)unsignedNOTNULLdefault'0',userh_seasonsmallint(4)unsignedNOTNULLdefault'0',userh_useridint(11)unsignedNOTNULLdefault'0',userh_rankvarchar(2)NOTNULLdefault'D',userh_winsint(11)NOTNULLdefault'0',userh_lossesint(11)NOTNULLdefault'0'

mysql - 在 MySQL 查询中的 SELECT 中使用 SELECT

通常在SELECT中使用SELECT来减少查询次数;但正如我所检查的那样,这会导致查询速度变慢(这显然对mysql性能有害)。我有一个简单的查询作为SELECTsomethingFROMpostsWHEREidIN(SELECTtag_map.idFROMtag_mapINNERJOINtagsONtags.tag_id=tag_map.tag_idWHEREtagIN('tag1','tag2','tag3','tag4','tag5','tag6'))这导致“查询时间3-4秒;锁定时间大约0.000090秒;检查了大约200行”的缓慢查询。如果我拆分SELECT查询,它们中的每一个

带 CASE 的 MySQL 例程 INSERT 语句

MySQL例程:DELIMITER$$CREATEDEFINER=`root`@`%`PROCEDURE`INSERT_Employee_Info`(INlnamevarchar(64),INfnamevarchar(64),INmnamevarchar(64))BEGININSERTINTOtbl_employee_info(lname,fname,mname)VALUES(lname,fname,mname);END有时,值lname、fname和mname可能只包含非null,我希望插入语句插入NULL而不是''值。我想到了以下几点,但我非常怀疑它是否会起作用:INSERTINT

MySQL:无法以 Upper Camel Case (Pascal Case) 给表命名

我读到最好的做法是使用Pascal大小写(ThisIsMyTableName)的表名。因此,我想更改MySQL中的表。但是phpmyadmin和SQLManager2005forMySQL都不会让我这样做。名称仍然以小写形式出现,就好像我根本没有改变一样。有什么解决这个问题的建议吗? 最佳答案 处理此问题的最简单方法是将以下内容添加到您的.ini文件lower_case_table_names=22是这里对于Windows的意义。您可以在这里阅读更多相关信息IdentifierCaseSensitivity

mysql - 在 MySQL SELECT 语句中,派生字段如何利用 SELECT 列表中另一个字段的值?

在MySQLSELECT语句中,派生字段如何利用SELECT列表中另一个字段的值?例如,运行以下查询时:SELECT'tim'ASfirst_name,first_name||'example'ASfull_name;我期望的结果是:first_name,full_nametim,timexample相反,我收到以下错误:Unknowncolumn'first_name'in'fieldlist'.有什么方法可以引用另一列?谢谢图格斯 最佳答案 不行,你必须重复它或使用派生表。select*,concat(first_name,'e

php - SELECT FOUND_ROWS() 在 mysql 中返回 1

SELECTFOUND_ROWS()不工作或返回1我不知道我哪里做错了$qry="SELECTSQL_CALC_FOUND_ROWSDISTINCTuser_id,login_dateFROMlogin_membersWHERE(login_dateBETWEEN'2012-02-1300:00:00'AND'2013-02-1323:59:59')LIMIT0,10";$rs=mysql_query($qry);$total_records=mysql_result(mysql_query("SELECTFOUND_ROWS()"),0,0); 最佳答案

MySQL COUNT(CASE WHEN ... THEN DISTINCT 列)

我的查询:COUNT(CASEWHENYEAR(FieldValue)=YEAR(CURDATE())ANDMONTH(FieldValue)=MONTH(CURDATE())THEN1END)ASmtd我想要这样的东西:COUNT(CASEWHENYEAR(FieldValue)=YEAR(CURDATE())ANDMONTH(FieldValue)=MONTH(CURDATE())THENDISTINCTColumnIDEND)ASmtd这给出了一个错误。我不能使用GROUPBY。如果我在CASE之前添加DISTINCT它不起作用,或者它将FieldValue列视为DISTINCT