要以特定顺序显示记录列表,您需要设置条件并使用ORDER BY。为此,请使用ORDER BY CASE语句。让我们首先创建一个表-
mysql> create table DemoTable2039 -> ( -> Name varchar(20) -> );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable2039 values('John Doe'); mysql> insert into DemoTable2039 values('John Smith'); mysql> insert into DemoTable2039 values('Chris Brown'); mysql> insert into DemoTable2039 values('Adam Smith'); mysql> insert into DemoTable2039 values('David Miller');
使用select语句显示表中的所有记录-
mysql> select *from DemoTable2039;
这将产生以下输出-
+--------------+ | Name | +--------------+ | John Doe | | John Smith | | Chris Brown | | Adam Smith | | David Miller | +--------------+ 5 rows in set (0.00 sec)
这是查询以ASC顺序显示特定记录列表-
mysql> select *from DemoTable2039 -> order by -> case when Name like '%Smith%' then 101 -> else -> 100 -> end, -> Name;
这将产生以下输出-
+--------------+ | Name | +--------------+ | Chris Brown | | David Miller | | John Doe | | Adam Smith | | John Smith | +--------------+ 5 rows in set (0.37 sec)
问题内容: php noob在这里-我将这个脚本拼凑在一起,以显示带有opendir的文件夹中的图像列表,但是我无法弄清楚如何(或在哪里)按字母顺序对数组进行排序 任何建议或指针将不胜感激! 问题答案: 您需要先将文件读入数组,然后才能对它们进行排序。这个怎么样? 编辑:这与您要的内容无关,但是您也可以使用pathinfo()函数对文件扩展名进行更通用的处理。然后,您不需要扩展的硬编码数组,就可以
问题内容: 我了解我可以按如下顺序在sql查询中按顺序使用变量: 但是我也该如何在asc和desc部分中使用变量? 问题答案: 没有每个选项,它的子句例如:
我在一个返回一个巨大选择的过程中工作,我不想定义它是如何排序的。我不想从三个字段中选择一个,如果它是升序还是降序,如果三个选项都没有定义,它会默认返回降序中的第一个字段 这边 当然,这不起作用... mysql指责单词DESC和ASC中的错误,我怎么能让这个工作??
问题内容: 我需要按日期/时间字段(例如)升序对PostgreSQL表进行排序last_updated。 但是,该字段允许为空或空,我想与空记录之前,非空。 这可能吗? 问题答案: 为该ORDER BY子句提供了关键字,以完全满足该需求: 一个典型的用例是使用降序排序(DESC),它会生成默认的升序(ASC)的完整反转,首先是空值。通常不理想-因此,将null值保持在最后: 要支持带有索引的查询,
问题内容: 这个问题很简单,由于某种原因我无法获得正确的结果以仅显示重复记录 样本输出 预期产量 我如何做到这一点? 问题答案: sqlfiddle
问题内容: 我将要有一个固定的项目清单,直到有一个随机化步骤,我才能运行查询直到执行该查询为止。 我想要以下内容: 假设is_launch_set将返回1,3,7,11,但已被随机分配到以下位置: 关于如何实现这一目标的任何想法?我在想也许是一个find_in_set,但不是很确定。 问题答案: 您可以使用以下任一方法来做到这一点: 要么 要么