【mysql – 在三个不同的列上使用MAX,WHERE和GROUP BY提高SQL查询的速度】教程文章相关的互联网学习教程文章

php – 有没有办法只为MySQL中的一个字段显示WHERE子句?【代码】

我有一些课程,学生可以报名参加.有一个用户表(usuarios),一个课程(cursos)表和第三个表,显示每个学生注册(cursosUsuarios),如下所示:CREATE TABLE usuarios(userID int unsigned not null auto_increment primary key,userName char(50) null, )ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE cursos (cursoID int unsigned not null auto_increment primary key,nombreCurso char(100) not null,estadoCurso char(50) not nul...

可选AND在WHERE语句MySQL中【代码】

我正在试图弄清楚如何允许可选的AND语句,其中有一个LEFT OUTER JOIN,因为在查看记录时表是可选的.但是,我有一个问题,没有文件,在WHERE语句中,像这样:SELECT rec.record_id,rec.record_name,f.file_name,f.file_id FROM (records recLEFT OUTER JOIN files f ON f.record_id = rec.record_id ) WHERE rec.record_id = 4928 AND f.file_approved = 1 <-- this is what returns a zero results当我删除AND f.file_approved = 1...

mysql – “where in”子句的实际限制【代码】

我有一个相当简单的表,大约有一百万行.id | my_col | other1 | other 2 | ...在这个表中有大约15k个不同的my_col值,我在my_col上有一个索引.我有一组7k my_col值,我需要从这个表中删除. 在SQL中做什么是更有效的事情(我目前正在使用MySQL,但将来可能会移植到MS SQL). 是a)在我的java应用程序代码中,遍历所有my_col值并在每个上调用sql delete.for (String my_colValue : listMyCol) {[delete from my_table where my_col = m...

mysql – UPDATE查询更改了行而没有WHERE子句但是有一个AND子句 – 为什么?【代码】

我运行了以下查询,它应该有一个where子句但我忘了添加它:UPDATE tblFormElementInstances as fei JOIN tblFormElements as fe using(intFormElementId) SET fei.intStep = 1 AND fei.intDivisionId = 1 OR fei.intDivisionId IS NULL);MySQL返回以下消息:– 查询OK,42行受影响(0.06秒) – 匹配的行数:94已更改:42警告:0 我原以为它会抛出语法错误,但事实并非如此.此外,该表中有96行,具有不同的intDivisionIds(即不仅仅是1或NU...

mysql – 如何删除不必要的join,更新where条件【代码】

我在MySql数据库中有三个表,我正在查询中加入id / value对.| A | B | C || -------- |--------------|---------------|| id | id | id || name | fooId | attributeId || desc | value | displayIndex || ... | attributeId | ... |我现在拥有的是:SELECT C.id, B.valueFROM A, B, CWHERE A.id = B.attributeIdAND A.id = C...

MySQL – WHERE子句中的数字和文本【代码】

当我在MySQL中运行两个语句时,我感到很惊讶SELECT * FROM jobs WHERE salary_max = 1000和SELECT * FROM jobs WHERE salary_max = '1000'我只是想知道为什么MySQL可以处理文本和数字相同,并返回相同的结果.你能帮我解释一下吗?解决方法:MySQL自动转换表达式中不兼容的类型以使它们兼容.它在MySQL documentation中讨论过.

mysql – 基于列值的条件sql WHERE子句【代码】

我有一个存储用户的表.每个用户都有ID,名称和访问级别.三种可能的访问级别是管理员,管理员和简单用户. 我想要的是根据访问级别值有条件地从该表中选择.我演示了以下逻辑: >如果用户是管理员,则选择所有用户(管理员,经理,简单用户)>如果用户是经理,则选择所有经理和所有简单用户>如果用户是简单用户,则仅选择他自己 那可能吗?解决方法:提供访问级别是一个随实际访问级别而增加的整数:管理员= 3经理= 2用户= 1 然后SELECT * FROM ...

IN where语句中的mysql用户变量【代码】

我现在放弃并通过其他方式对其进行排序,但因为“好奇心杀了猫”我试图弄清楚如何在IN where语句中使用mysql查询@variables: 所以,从这个:SELECT * FROM table1 WHERE table1.ID IN (794,758)尝试包含变量,这会返回语法错误:SET @variousids="(794,758)"; SELECT * FROM table1 WHERE table1.ID IN @variousids这仅返回第一个值:SET @variousids="794,758"; SELECT * FROM table1 WHERE table1.ID IN (@variousids)我尝试了不同...

php – 适用于DELETE,FROM,WHERE的mySQL语法【代码】

我有一个包含18列表的数据库,其中第二列称为“desc”.我想删除“desc”下具有特定值的每一行.我正在使用此代码:DELETE FROM items WHERE desc='Swap this note at any bank for the equivalent item.'在PHPMYADMIN中使用此命令给我这个错误:#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc='Swap this note at any bank...

MySQL中on与where的区别

以left join为例: on:生成临时表时使用的条件,无论条件是否生效,都会返回左表的行(left join性质影响) where:生成临时表之后使用的条件,一定会过滤不满足设定条件的行 示例表: girl id g_name 1 Anna 2 Bill 3 Clark 4 Dell 5 Edward boy id b_name gf_id salary 1 a 1 8000 2 b 2 9000 3 c 3 10000 4 d 4 11000 5 e 6000 原始查询select b.b_name,b.salary,g.g_name from boy b left join girl g on b.gf_id=g.id ...

具有多个AND OR WHERE条件的复杂MySQL查询【代码】

我有一张帮助选择产品的桌子. 我想查询一下我在哪里找回每条记录:category_id = 'M10' and band_id = '010' OR category_id = 'M10' and band_id = '020'ANDcategory_id = 'M50' and band_id = '010' OR category_id = 'M50' and band_id = '020'我的查询:SELECT product.entry_id AS entry_id, helpme.item_id AS product_id FROM inbound_help_me_choose helpme LEFT JOIN exp_channel_titles product ON (product.product...

mysql – 我如何在Where子句中使用IFNULL【代码】

我想以这样的方式使用IFNULL(),我可以选择包含NULL的记录,或者如果存在值,则选择匹配特定值的记录. 我的查询是:SELECT (@v:=2) AS Row, CL.LeaveTypeId, CL.NumberOfLeave FROM `CompanyLeave` CL WHERE(IFNULL(CL.EmploymentType,0)=3);columns EmploymentType可以包含Integer或NULL. 我想选择匹配指定值的记录,或者,如果没有匹配,则选择包含NULL的记录.解决方法:我将这个问题解释为优先顺序.如果存在3的记录,请选择该记录.否则,...

mysql – 如何通过id序列使用where子句【代码】

我有一系列由逗号合并的id:$ids = '1,2,3,4,5,6,7,8,9,10' ; select * from ads WHERE id = $ids ...现在我如何通过这些ID获取广告表的内容?解决方法:您正在使用PHP.您可以像这样构建SQL:$ids = '1,2,3,4,5,6,7,8,9,10'; $sql = 'SELECT * FROM ads WHERE id IN ('.$ids.')'; //execute the query (don't use mysql_* function ;) )从MySQL 5.6开始,您也可以使用FIND_IN_SET():$ids = '1,2,3,4,5,6,7,8,9,10'; $sql = "SELECT ...

mysql – 来自WHERE子句的虚假结果的说明【代码】

MySQL 8.由于缺少表名的规范,我在查询中看到了一个虚假的行.我知道如何修复它,我想了解它为什么会发生. 请看下面的小提琴: http://sqlfiddle.com/#!9/beb1ed/1/0 目的是查找计划表中也存在于计划表中的任何行,与SubscriptionID和date匹配. 返回的结果是:RealWorldVisitDate CustomerID SubscriptionID 2019-01-14 00:00:00 5 13 2019-01-14 00:00:00 17 23 但是,WHERE子句应将结...

mysql – “SELECT * FROM view_table WHERE cause”=>但结果总是重新排序【代码】

在SELECT * FROM view_table中结果始终为----------------------- || id || author || ----------------------- || 1 || a || <-- || 1 || c || <-- || 1 || b || <-- || 2 || d || || 3 || e ||但是当SELECT * FROM view_table WHERE id = 1时,结果是----------------------- || id || author || ----------------------- || 1 || a || || 1 || ...