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

mysql – 如何在Laravel中编写orWhereYear()【代码】

我的表中有两个datetime列 – from_date和to_date.我需要获取记录,其中from_date或to_date的年份是当前年份.我正在尝试使用whereYear获取记录,而我陷入了OR状态$table_records = TableName::whereYear('from_date' , '=', date('Y'))->orWhereYear('to_date' , '=', date('Y'))->orderBy('from_date')->get();但是我猜Laravel当然没有或者在哪里.有人可以帮我查询一下.解决方法:一种方法是这样的:$table_records = TableName::wh...

mysql – SQL从两个表中选择,如果WHERE子句为false,则获取列的空值【代码】

http://sqlfiddle.com/#!9/cfd41ef/1 我想从table person获取每一行,如果WHERE为false,我想得到null值.有没有办法做到这一点?提前致谢.CREATE TABLE `pet` (`owner_id` INT(11) NULL DEFAULT NULL,`pet_type` ENUM('DOG','CAT') NULL DEFAULT NULL,`pet_name` VARCHAR(50) NULL DEFAULT NULL ) COLLATE='latin1_swedish_ci' ENGINE=InnoDB ;CREATE TABLE `person` (`id` INT(11) NULL DEFAULT NULL,`first_name` VARCHAR(50) NULL...

mySQL存储过程where子句问题【代码】

我有一个看起来像这样的mySql存储过程 – delimiter | create procedure GetEmployeeById(in ID varchar(45)) beginselect id,firstName,lastName,phone,address1,address2,city,state,zip,username,password,emptypeidfrom myschema.tblemployees twheret.id=ID limit 1; end | delimiter;如果我没有限制1,它总是返回表中的所有行 – 每个记录的id值设置为ID参数.为什么我不能只使用id = ID的地方,为什么我这样做会返回所有记录?...

mySQL:如何选择FROM表WHERE IN LIST而不是另一个列表【代码】

是否有可能从表中选择值,它们不在一个列表中,但在另一个列表中存在…或者它们是否相反? 例如.SELECT COUNT(g.`property`) as `number`, g.`property` FROM `foo` g WHERE `theID` IS IN (SELECT `theID` FROM `tableofIDS` WHERE `theID` = '54252') AND NOT IN (SELECT `theID` FROM `anotherTableofIDS` WHERE `theID` = '54252')解决方法: SELECT COUNT(g.`property`) as `number`, g.`property` FROM `foo` g WHERE `theID` I...

让mysql忽略where条件【代码】

如果没有设置变量,是否会使mysql忽略条件,例如SELECT * FROM foo WHERE id = $id AND bar = $baz如果设置$baz运行查询正常,否则运行查询减去AND子句? 谢谢解决方法: SELECT * FROM foo WHERE id = $id AND ( bar = $baz OR $baz [equals null, empty string, zero, whatever] )我不知道MySQL是否曾在其执行计划中使用过short circuit evaluation,但将更便宜的比较放在首位可能是有益的,例如:SELECT * FROM foo WHERE id = $id AN...

mysql – 条件Where子句替代【代码】

我使用xml来显示查询结果.我有一个与我的查询相关的问题.在客户表中说我有一个数据,其id不是任何其他表中的forigne键,但我仍然想显示数据.我,使用左连接.但问题在于其他表条件(Where子句pr.fActive = 1 …),因此我无法显示仅存在于customer表中但不存在于其他表中的数据.如何做到这一点<Table>customer cu</Table><Joins>left join customerprogramxref cuprxref on cu.ixcustomer=cuprxref.ixcustomerleft join tblprogram pr on...

php – Code Igniter – 使用where和like的MySQL查询【代码】

我已经搜索过每一个答案,但没有描述我想要的东西,或者我没有理解它们.所以这就是我的问题.我想要一个像这样的“复杂”查询:select * from MyTable where PropertyA='$propertyValue' and (id like '%$someValue%' or name like '%$someValue%' or description like '%$someValue%') order by id desc limit 10 offset $offsetValue如何在代码点火器中编写此查询? $propertyValue,$someValue,$offsetValue都是php变量.当然我需要...

mysql – Laravel Eloquent在子查询中有两个“WHERE NOT IN”【代码】

我有这个查询,我在laravel eloquent ORM中编写查询时遇到问题. 感谢有人可以提供帮助. 这是SQL表达式:SELECT DISTINCT cust, cust_no FROM delivery_sap WHERE cust NOT IN ( SELECT cust_name FROM customer) AND cust_no NOT IN ( SELECT cust_code FROM customer)解决方法:试试这样的事情:DB::table('delivery_sap')->whereNotIn('cust', DB::table('customer')->pluck('cust'))->whereNotIn('cust_no', DB::table('custome...

mysql – 在Where子句中处理日期的更好方法【代码】

我想知道哪种类型的查询更好用:SELECT * FROM table WHERE DATE >= '2010-7-20' AND DATE <= '2010-7-24'要么SELECT * FROM table WHERE DATE_SUB('2010-07-24',INTERVAL 4 DAY) <= DATE解决方法:我总是使用> =和<组合.因此,如果您想要使用这四天的服务 where DATE >= '2010-07-20' AND DATE < '2010-07-24'这样可以确保即使存在实际日期(没有时间组件)和日期时间的混合,您也只能获得您所关注的日期. 因此,如果您将日期存储为2010...

php – 使用LIMIT MySQL的多个WHERE【代码】

使用PHP,可以在MySQL数据库中从一个表中选择多行,其中不同的WHERE子句对每个WHERE子句都有一个特定的LIMIT. 例如:SELECT * FROM the_table WHERE color = 'blue' LIMIT 5 OR color = 'red' LIMIT 10我知道上面的陈述不起作用.但有没有办法通过一次调用数据库来做到这一点?解决方法:如果我理解你的帖子,你可以使用UNION:(SELECT * FROM the_table WHERE color = 'blue' LIMIT 5) UNION ALL (SELECT * FROM the_table WHERE color...

mysql – 内部连接或WHERE子句中的AND语句之间的差异【代码】

大家好我在SQL中有一个关于AND子句的具体问题. 以下两个SQL语句提供相同的输出:SELECT * FROM Table1 t1 INNER JOIN Table2 t2 ON t1.id = t2.id AND t2.id = 0SELECT * FROM Table1 t1 INNER JOIN Table2 t2 ON t1.id = t2.id WHERE t2.id = 0请注意查询结尾处的差异.在第一个中我使用AND子句(之前不使用WHERE子句).在第二个中,我使用WHERE来指定我的id. 第一种语法是否正确?如果是第一个在性能方面更好(不使用WHERE子句进行过滤...

mysql – 在连接中使用Where子句,使用Group by和Order By【代码】

我正在使用MySQL classicmodels数据库.以下查询工作正常(请注意where子句)select customers.customerNumber as 'Customer ID',customers.customerName as 'Customer Name',count(orders.orderNumber) as 'Total Orders Placed' from customers left join orders on customers.customerNumber = orders.customerNumber where customers.customerNumber > 200 group bycustomers.customerNumber order by 3 asc但以下结果会导致错误....

mysql – 使用单个SQL来获取具有不同where子句的多个计数,这可能吗?【代码】

我有一张桌子如下,+-----+--------+-----------+----------+ | id | type_id| product_id| date | +-----+--------+-----------+----------+ | 1 | 1 | 300 |22/01/2013| | 2 | 1 | 800 |22/01/2013| | 3 | 1 | 400 |30/01/2013| | 4 | 1 | 300 |05/02/2013| | 5 | 5 | 300 |27/02/2013| | 6 | 1 | 300 |28/02/2013| | 7 | 3 | 400 ...

mysql – 多一个WHERE条件导致错误:您的SQL语法中有错误;【代码】

好.每当我尝试在其中获得多个WHERE条件时,它只会给我一个SQL语法错误. 错误:Error Executing Database Query.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 'read = '0'' at line 3Resources: Enable Robust Exception Information to provide greater detail about the source of errors. In the Administrator, click Debugging & ...

优化mysql查询以在Bitwise where子句上使用索引【代码】

我有一个查询,看起来像:select count(*) from m1 WHERE (m1.`resource` & 1472 );虽然我有资源索引但它没有使用它.如何优化以用于按位运算.解决方法:我不相信MySQL可以使用索引进行按位运算. 在MySQL性能论坛中对此进行了一些讨论:http://forums.mysql.com/read.php?24,35318(“可以通过逐位比较进行索引扫描吗?”),其中MySQL员工根据每个(事物,设置位)对的表格建议一个解决方案一堆联接.我猜这个有多好用将取决于你的特定应用...