【mysql 根据where条件,分组,联表等统计数据条数】教程文章相关的互联网学习教程文章

MySQL限制与WHERE IN子句【代码】

这与我迄今为止找到的解决方案略有不同.我在用户和公司之间有关系(用户有一个company_id列).我需要创建一个查询,获取每个公司的前5个用户.以下获得前3位用户总数:SELECT * FROM users WHERE company_id IN (1, 2, 3, ...) LIMIT 3;而不是每个公司的前3个用户.现在我正在循环使用PHP中的公司并运行一个查询,该查询通过公司的ID以LIMIT 3来抓取用户,但是可能有100个公司,所以这根本不具备性能.如果我有他们的ID,我有没有办法让公司名...

MYSQL php:如果找不到“WHERE IN”id,则查询多行并返回值【代码】

我正在开发一个管理事件的wordpress网站. 问题是我需要在单个查询中从相应的ID中获取一些事件标题名称.我试图从单个MYSQL查询中获取多行,使用“WHERE IN({$IDs})”可以正常工作:$events_implode = implode(',',$events); $events_titles = $wpdb->get_results("SELECT `title` FROM `wp_events` WHERE `id` in ({$events_implode}) ORDER BY FIELD(id,{$events_implode}",ARRAY_A);但是,如果在查询中找不到其中一个$ID而不返回任何...

mysql – 同一查询的where子句中的别名值【代码】

我想在同一查询中获取距离> = distance_filter的结果SELECT SQL_CALC_FOUND_ROWS null as row, distance_filter, j.lat, j.long, ROUND((((acos(sin((28.53551600*pi()/180)) * sin((j.lat*pi()/180)) + cos((28.53551600*pi()/180)) * cos((j.lat*pi()/180)) * cos(((77.39102600 - j.long) * pi()/180))))*180/pi())*60*1.1515*1.609344 )) as distance, j.job_id, j.brand, j.location, j.model, j.creation_time FROM `mb_job`...

mysql – 如何在WHERE子句中最佳地使用COALESCE()?【代码】

这是我的查询:select coalesce(qa2.subject, qa.subject) as question_subject,qa.body,(select count(*)from viewed_items viwhere coalesce(qa.related, qa.id) = vi.question_id) as total_question_viewed from questions_and_answers qa left join questions_and_answers qa2 on qa.related = qa.id where body like ':entry';如您所知,MySQL优化器永远不能在coalesce(qa.related,qa.id)= vi.question_id上使用此索引.那么任...

php – 执行mysqli_query有效,但它不会返回WHERE CLAUSE中给出的确切行【代码】

查询执行..但是让我们说例如用户更改了$_GET [‘sub’]的值以获取不在数据库中的id,例如:60.它应该打印“NOT FOUND”而不是它打印发现!这是为什么 ?$main = new MainClass();$subid = mysqli_real_escape_string($main->MsqlConRes,$_GET['sub']);if (is_numeric($subid)) {$main->query = mysqli_query($main->MsqlConRes,"SELECT * FROM subjects WHERE id = ".$subid."") or die(mysqli_error());if ($main->query){echo'Fo...

mysql – 为什么这个查询使用where而不是index?【代码】

EXPLAIN EXTENDED SELECT `board` . * FROM `board` WHERE `board`.`category_id` = '5' AND `board`.`board_id` = '0' AND `board`.`display` = '1' ORDER BY `board`.`order` ASC上述查询的输出是id select_type table type possible_keys key key_len ref rows filtered Extra 1 SIMPLE board ref category_id_2 category_id_2 9 const,const,const 4 100.00 Using where我有点困惑,因...

mysql – 在SQL中,WHERE子句顺序是否有效?【代码】

我的数据库中有一个表是这样的:---------------------------------------------------------- | event_id | date | start_time | end_time | duration |---------------------------------------------------------- | 1 | 2011-05-13 | 01:00:00 | 04:00:00 | 10800 | | 2 | 2011-05-12 | 17:00:00 | 01:00:00 | 28800 | | 3 | 2011-05-11 | 11:00:00 | 14:00:00 | 10800 |----------...

MySQL WHERE条件是否将括号与PHP相同?【代码】

MySQL是否会在WHERE条件中考虑括号?它是否像PHP一样工作WHERE (condition1 OR condition2) AND condition3是相同的if ((condition1 || condition2) && condition3)解决方法:是的,这将有效.例如,我在项目中有类似于此查询的内容:SELECT * FROM translation WHERE (language='en' AND translation_label='lbl_submit') OR (language='en' AND translation_label='lbl_submit_btn')

MySQL:WHERE子句中带有NOT IN的从属子查询非常慢【代码】

我正在使用open Id登录来审核我的应用程序中的用户详细信息.如果用户第一次登录我们认为是注册的OPEN ID.我正在使用此详细信息生成审计登录报告.样本表数据.+---------+----------+-----------+---------------+ | USER_ID | PROVIDER | OPERATION | TIMESTAMP | +---------+----------+-----------+---------------+ | 120 | Google | SIGN_UP | 1347296347000 | | 120 | Google | SIGN_IN | 1347296347000 |...

mysql – 给定X的3个可能值,是否更快做WHERE(X = B或X = C),或做WHERE X!= A?【代码】

给定X(A,B,C)的3个可能值,它是否更快: > WHERE(X =’B’或X =’C’),或>在哪里X!=’A’ 还是依赖于它?如果是这样,那么它依赖于什么?解决方法:>选项1:WHERE (X = 'B' OR X = 'C')和WHERE X IN ('B', 'C')是等价的,可以使用(X)上的索引.>选项2:WHERE X != 'A'不会在(X)上使用索引.请参阅HenrikGrubbstrm在MySQL docs,How MySQL Optimizes WHERE Clauses页面上发表的评论:Indexes are ignored for the <> operator:因此,如果使...

mysql – 如果不为null,请使用“where”【代码】

目标 仅当参数不为null时才使用子句“where”. 问题 我不知道语法. 是)我有的 以下语法不起作用.CREATE DEFINER=`root`@`localhost` PROCEDURE `getProductsListForHome` (IN `inOffer` INT, IN `categoryId` INT) BEGINSELECT (MIN(`map`.`Product_Price`)) as `minProductPrice`,(MAX(`map`.`Product_Price`)) as `maxProductPrice`,`pr`.`Product_Name` as `productName`,`ca`.`Category_Name` as `categoryName`FROM `bm_marke...

MySQL在子句“WHERE IN(SELECT …)”中手动添加id【代码】

我有这个问题:SELECT * from t1 WHERE child_id IN (SELECT child_id from t2 WHERE parent_id='1234') OR parent_id='1234'有可能做这样的事情:SELECT * from t1 WHERE child_id IN ((SELECT child_id from t2 WHERE parent_id='1234')UNION '5678' )UNION关键字给出了一条错误消息,我尝试在谷歌搜索但是当你搜索“Mysql concat IN”时很难找到一些东西 我希望我的问题很明确解决方法:是的,像这样:SELECT * from t1 WHERE chil...

mysql – 查询优化 – WHERE子句中的表达式顺序【代码】

可以说我有一个名为数字的表:userID ColA ColB ------------------ 25 10 11 25 10 16 28 10 11 28 10 16 29 12 14 29 10 16我想找到所有具有userID 28和colA = 10以及colB = 16的行 我的问题是查询结构.如果我首先查找userID,然后查找colA和colB值,例如select * from numbers where userID=28 AND (colA=10 AND colB=16)这比首先寻找值更快,例如select * from number...

php – Mysql WHERE或WHERE以整数奇怪的结果开始【代码】

为什么是$query = "SELECT * FROM `users` WHERE `id` = '$search' OR `email` = '$search' LIMIT 1";`id` = UNSIGNED INTEGER(10), `email` = VARCHAR(255)为什么查询结果如此奇怪,我认为图像是自我解释的,但我也需要一些词,所以在这里,当用户搜索dcm2@example.com或其他任何不存在时,没有结果,但如果字符串开始使用数字并搜索PRIMARY KEY,它将字符串转换为整数,如果我搜索2dcm1@example.com,ID 2返回,任何良好的解释,为什么会发生...

php – MySQL Select语句where table1.id!= table2.id【代码】

我有一个包含帖子的数据表,然后我有一个单独的数据表,删除了帖子.删除帖子后会发生的情况是,它的ID被添加到已删除的表中而不是删除帖子条目. 什么是从posts表中选择所有帖子而不选择在已删除表中具有其ID的那些帖子的干净有效方式解决方法:如果你不能改变你的表,你可以做一个Left Join(如果可能的话会加入你的deleted_table),然后检查id为Null(意味着没有找到行).Select everything_you_need From post_table p Left Join delete_t...