【Mysql->order by SQL 根据多个条件排序】教程文章相关的互联网学习教程文章

PHP-MySQL左联接,分组依据,排序依据,限制=糟糕的性能【代码】

我目前正在开发一个应用程序,允许用户使用各种参数搜索文档数据库,并返回一组分页结果.我正在PHP / MySQL中构建它,这不是我通常的开发平台,但是到目前为止它还很出色. 我遇到的问题是,要返回完整的结果集,我必须在每个表上使用LEFT JOIN,这完全破坏了我的性能.开发数据库的人说,我正在使用的查询将返回正确的结果,所以这就是我必须使用的.查询如下,我绝不是SQL Guru,可以在此上使用一些帮助. 我一直在想将查询拆分为子查询可能更好...

如何避免此MySQL查询的文件排序【代码】

我需要一些帮助来避免对该查询进行文件排序.SELECT id FROM articles USE INDEX(group)WHERE type = '4' AND category = '161' AND did < '10016' AND id < '9869788' ORDER BY id DESC LIMIT 10INDEX(group)是(type,category,did,id)的覆盖索引 由于使用ORDER BY id DESC,因此执行文件排序.有没有办法避免这种查询的文件排序?解决方法:更改索引列的顺序.索引对于排序没有用,因为它是第4列,还不能按原样使用. 当然,这会影响此WHE...

MySQL查询优化.避免临时文件排序【代码】

目前,我有一个包含近一百万行的表,我需要从中查询.我需要做的是根据给定产品ID列表中包含的产品数量对产品进行排名.SELECT count(productID) AS commonProducts, packageID FROM supply WHERE productID IN (2,3,4,5,6,7,8,9,10) GROUP BY packageID ORDER BY commonProducts DESC LIMIT 10该查询工作正常,但我想对此进行改进.我在productID和packageID上尝试了多列索引,但它似乎要寻找更多的行,而不仅仅是为每个列都有一个单独...

Mysql 排序优化【代码】

原文链接:https://www.cnblogs.com/moss_tan_jun/p/6021822.html 为了优化SQL语句的排序性能,最好的情况是避免排序,合理利用索引是一个不错的方法。因为索引本身也是有序的,如果在需要排序的字段上面建立了合适的索引,那么就可以跳过排序的过程,提高SQL的查询速度。下面我通过一些典型的SQL来说明哪些SQL可以利用索引减少排序,哪些SQL不能。假设t1表存在索引key1(key_part1,key_part2),key2(key2) a.可以利用索引避免排序的S...

MySQL查询重新排序字段值?【代码】

我有这样的表:=============== | rank | name | =============== | 3 | john | | 6 | bob | | 10 | alex | | 11 | brad | | 12 | matt | | 34 | luke | | 145 | ben | ===============(此表是一个示例.实际上,我的表包含约5000行数据). 是否有一个查询来对从1开始的排名值进行重新排序,所以最终结果是这样的:=============== | rank | name | =============== | 1 | john | | 2 | bob | | 3 | alex |...

mysql-复杂的sql分组和排序【代码】

我在将日常时间记录中的数据进行分组和排序时遇到问题自动生成报告. DTR的表结构如下:LogDate LogTime EmployeeName LogType 2012-09-14 10:48:04 SALITA, LYNYRD ANTONIO LOGOUT 2012-09-14 09:39:29 SALITA, LYNYRD ANTONIO LOGOUT 2012-09-14 09:39:19 SALITA, LYNYRD ANTONIO LOGIN 2012-09-14 09:35:25 SALITA, LYNYRD ANTONIO LOGOUT 2012-09-14 09:35:13 SALITA, LYNYRD ANTON...

mysql-utf8_bin中字段上的SQL语句中的COLLATE比使用默认排序规则慢?【代码】

两种情况: 使用默认排序规则:CREATE TABLE IF NOT EXISTS `table` (`name` varchar(255) collate utf8_general_ci NOT NULL,UNIQUE KEY `name` (`name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;SELECT `name` FROM `table` ORDER BY `name`;使用COLLATE:CREATE TABLE IF NOT EXISTS `table` (`name` varchar(255) collate utf8_bin NOT NULL,UNIQUE KEY `name` (`name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;SELECT `name` FR...

mysql-在Yii中排序CHtml :: listData下拉列表【代码】

我的数据库表名为“状态”,并且有一列名为“订单”的列,其类型为float. 我正在尝试根据从低到大的顺序对状态字段进行排序,然后将这些字段输入到下拉列表中. 这是我正在使用的代码:echo $form->dropDownListRow($my_model, 'status', CHtml::listData(Status::model()->findAll(array('order'=>"'order' ASC")), 'id', 'name'), array('class'=>'span3','prompt'=>Yii::t('forms', 'Please Select A Status')));但是列表始终按状态...

即使排序规则正确,MySQL也不会按瑞典语字符命令åäö无法正常工作【代码】

该查询: 在isActive =’1’的情况下从客户中选择customer_id,customer_name或按customer_name ASC订购 输出:+-------------+-----------------------+ | customer_id | customer_name | +-------------+-----------------------+ | 1 | ?name | | 2 | Aname | | 3 | Bname | +-------------+-----------------------+即使我整理了utf8_s...

我们可以使MySQL的结果选择查询可编辑和可排序吗?【代码】

我有一个选择查询,该查询从表中提取数据并相应地显示它$display_query= "select * from customer WHERE abc_mailing_list = '$abc' AND def_mailing_list ='$def' AND ghi_mailing_list = '$ghi' AND position_category IN($var) AND country_code='$country_cat' ORDER BY state";$display_result=mysqli_query($dbc2,$display_query); <table width = "100%"border="1" style="border-collapse: collapse;"> <tr style="backgrou...

PHP-MYSQL使用特定的行进行排序和限制,并选择上一行和下一行【代码】

我有一个名为users的简单表,其中包含以下数据:id | hops1 | 32 | 13 | 54 | 25 | 46 | 5我想选择我指定的任何给定ID的跃点数,还要根据从最高到最低排序的跃点数选择下一个和上一个ID. 为了解释更多,我使用以下查询:SELECT * FROM test WHERE id = 1 OR (id > 1 AND hops >= (SELECT hops FROM test WHERE id= 1) ) OR (id < 1 AND hops <= (SELECT hops FROM test WHERE id= 1) ) LIMIT 3因此,在上面的查询中,我尝试获取id = ...

php-排序desc后mysql中的下一个和上一个记录【代码】

我有一个名为users的简单表,其中包含以下数据:id | hops1 | 32 | 13 | 54 | 25 | 66 | 5我想根据跳的降序进行上一个/下一个导航.我使用以下查询来对降序进行排序:SELECT * FROM users ORDER BY hops DESC, id DESC结果如下:id | hops5 | 66 | 53 | 51 | 34 | 22 | 1现在我想要的是,当我在mysql查询中输入任何ID时,根据上述排序,我得到了上一个和下一个ID.例如: 对于id 5(在这种情况下,id = 5的跳数最高,因此之前没有任何记录):...

mysql-SQL:选择最新主题和最新帖子,按论坛分组,按最新帖子排序【代码】

我正在尝试 >最新线程(ID,主题,时间戳,author_id)和>最新帖子(id,thread_id,时间戳,author_id)每个论坛的>(ID,名称)>由最新帖子排序,与帖子的创建日期无关. 为什么? 我希望能够显示以下详细信息:"The latest Answer of forum $forum_id was given on Question $thread_id. Here it is: $post_id"SELECT f.id AS forum_id,f.name AS forum_name,t.id AS thread_id,t.topic AS thread_topic,t.ts AS thread_timestamp,p.id AS pos...

PHP / MySQL在不同表中按列排序【代码】

我正在运行此SQL代码:sql=" SELECT * FROM channel_did ";$rs=mysql_query($sql,$pbx01_conn) or die(mysql_error());$counter=0;$display='';while($result=mysql_fetch_array($rs)){$sql2="SELECT * from client where id = '".$result["client_id"]."' ";$rs2=mysql_query($sql2,$pbx01_conn) or die(mysql_error());$result2=mysql_fetch_array($rs2); }所以在channel_did表中,client_id列是一个数字,然后我在客户表中进行查找...

mysql-排序varchar列【代码】

我有一个章节列,它的值像Chapter 1 Chapter 2 Chapter 11 Chapter 12 Chapter 3 Chapter 4我订购时显示为Chapter 1 Chapter 11 Chapter 12 Chapter 2 Chapter 3 Chapter 4我需要这样Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 11 Chapter 12解决方法:这称为自然排序.你可以试试这个吗?但是没有完美的方法可以自然排序.SELECT col FROM tab ORDER BY LENGTH(col), col;即使前缀不一样,如果这样修改也可以进行排序(对吗?我认...