当前位置: 首页 > 面试题库 >

按任意顺序对SQL行输出进行排序?

楚畅
2023-03-14
问题内容

因此,在数据库中,我存储了乐器名称(以及其他各种属性)。假设id它是主键,并且name是唯一键。

在PHP脚本中,我按其乐器类选择项,如下所示:

$name = mysql_real_escape_string($_POST['name']);
$row = myhtml" target="_blank">sql_fetch_row(mysql_query("SELECT * FROM `instruments` WHERE name LIKE '%$name%' ORDER BY id"));

结果表:

id    name
1     "Flute 2"
2     "Bass Flute"
3     "Flute 10"
4     "Flute 7"

这使我可以仅通过查询“萨克斯管”来选择整个乐器系列,例如“高音萨克斯管”,“中音萨克斯管”等。

在该特定示例中,结果按其ID排序(您可以假定其为auto_incremented)。更理想的是按字母顺序排序,是吗?

id    name
2     "Bass Flute"
3     "Flute 10"
1     "Flute 2"
4     "Flute 7"

这工作正常,但作为音乐人,他们喜欢耍着数据库管理员,不善待在长笛结果有“低音长笛”上面“笛”上市了, 真的 不善待具有“
“长笛2”之前列出的“长笛10”。

因此,看到没有东西ORDER BY score_order(那太容易了,不是吗……),我该如何引入某种订购系统来正确显示工具?

经过集思广益,我想到了一个解决方案:我可以再添加一列整数类型,并根据其重要性对乐器进行“排名”(即Piccolos将为“ 1”,长笛为“ 2”,等等):

... nts` WHERE name LIKE '%$name%' ORDER BY rank, name"));

id    name           rank
3     "Flute 10"     2
1     "Flute 2"      2
4     "Flute 7"      2
2     "Bass Flute"   5

但是,这不能说明 字母 “ Flute 10”在“ Flute 2”之前的事实。

理想结果表(按排序rank,然后按排序name):

id    name           rank
6     "Piccolo"      1
1     "Flute 2"      2
4     "Flute 7"      2
3     "Flute 10"     2
5     "Alto Flute"   4
2     "Bass Flute"   5

有没有一种方法可以通过分析整个数字(而不是逐个数字)来获得SQL订单记录?


问题答案:

对我来说,尚不清楚您理想的排序顺序是什么,但是您可能应该在数据库表中添加一个额外的列。您说ORDER BY score_order太简单了,但是为什么不添加一个明确的score_order字段和顺序呢?



 类似资料:
  • 问题内容: 我必须创建一种方法,该方法根据电子邮件按字母顺序对对象的 ArrayList 进行排序,然后打印排序后的数组。我在排序时遇到的麻烦。我已经对其进行了研究并尝试使用,但这对我不起作用。我当时是需要一个称为比较器的东西,但无法弄清楚它是如何工作的。我将不得不使用这些东西吗?还是像气泡排序或插入排序这样的东西可以用于这种事情? 这是我到目前为止的代码: 问题答案: 排序部分可以通过实现cus

  • 问题内容: 在SQL中,有没有一种方法可以 按键组 顺序添加行号? 假设一个带有任意(CODE,NAME)元组的表。表格示例: 使用CODE作为分组属性的所需投影: 谢谢, 问题答案: SQL服务器 甲骨文 Postgres Sybase公司 MySQL不支持。这涵盖了大多数基地。

  • 问题内容: 我有这个: 和[电影]数组。如何按名称的字母顺序对数组进行排序?我试过了: 和 但这不起作用,因为我没有访问电影的名称属性。 问题答案: 在传递给的闭包中,比较要排序的属性。像这样: 或以下要绕过案例的案例: 旁注: 通常,只有类型以大写字母开头;我建议使用and ,而不是and 。 例如,在操场上: 将按顺序 Swift5更新

  • 问题内容: 我有一个对象数组,这些对象的属性称为“ CODE”。 如何通过自定义顺序对数组进行排序,例如: 尝试各种方法均未成功。请帮忙。 问题答案: 您可以将函数与函数一起使用。

  • 本文向大家介绍C程序按字母顺序对名称进行排序,包括了C程序按字母顺序对名称进行排序的使用技巧和注意事项,需要的朋友参考一下 用户必须输入名称的数量,并且需要借助strcpy()函数按字母顺序对这些名称进行排序。 字符(或)字符集合的数组称为字符串。 声明 以下是数组的声明- 例如,char string [50]; 长度为50个字符的字符串。 初始化 使用单字符常量 使用字符串常量 访问 有一个控