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

选择查询,但显示记录号3的结果

洪浩
2023-03-14
问题内容

我有一些简单的查询:

SELECT * FROM table

你们都知道结果:

|id|   foo   |    bar   |
-------------------------
|1 |   aaa   |    123   |
|2 |   bbb   |    234   |
|3 |   ccc   |    345   |
|4 |   ddd   |    456   |

但是,我想从记录3中显示什么?我知道我可以做到SELECT * FROM table where id=3,但是我需要将选择的记录设置在第一位,可以说我选择id=3的结果如下:

|id|   foo   |    bar   |
-------------------------
|3 |   ccc   |    345   |
|4 |   ddd   |    456   |
|1 |   aaa   |    123   |
|2 |   bbb   |    234   |

或者

|id|   foo   |    bar   |
-------------------------
|3 |   ccc   |    345   |
|1 |   aaa   |    123   |
|2 |   bbb   |    234   |
|4 |   ddd   |    456   |

这可能吗?


问题答案:

这样您就可以得到id = 3

SELECT *
FROM tbl
ORDER BY (id = 3) DESC
-- ,id

按订单id此外,如果你想休息有序,太。

解释:

该表达式的计算结果为boolean。FALSE(在mysql中为= 0)在TRUE(在mysql中为= 1 )之前进行排序,因此我们对降序进行排序。

它还可以自动覆盖的情况下idNULL。我在这里再次引用该手册:

在执行ORDER BY时,如果执行ORDER BY … ASC,则将首先显示NULL值;如果执行ORDER BY …
DESC,则将显示NULL值。



 类似资料:
  • 问题内容: 我觉得应该有一个简单的方法来做到这一点,但我不知道。我有一个JFileChooser,它允许用户选择目录。我想显示目录中的所有文件,以便为用户提供一些上下文,但是只应接受目录作为选择(选择文件时可能会禁用“打开”按钮)。有一个简单的方法吗? 问题答案: 重写approveSelection()方法。就像是:

  • 问题内容: 根据SSRS,我有一个问题。我正在使用MSSQL Server Management Studio 2012和BIDS Visual Studio 2008进行报表设计。 我有一个包含一些多值参数的报告和一个存储过程,该存储过程在后面返回记录。 现在,我试图找到传递给存储过程的参数值和字符串拆分函数的问题。我查看了SQL Server Profiler中的字符串是否以意外的形式传递,但

  • 问题内容: 我正在寻找一个SQL查询来选择所有未由同一表上的另一个查询选择的记录。具体来说,我想选择所有具有特定字段(’fieldA’)重复项的记录,然后删除除其中一个记录以外的所有记录。 因此,一条select语句可能类似于以下内容(不起作用!): 如果不可能进行单个查询,那么最有效的解决方案是什么? 问题答案: 具体来说,我想选择所有具有特定字段(’fieldA’)重复项的记录,然后删除除其中

  • 问题内容: 这个问题很简单,由于某种原因我无法获得正确的结果以仅显示重复记录 样本输出 预期产量 我如何做到这一点? 问题答案: sqlfiddle

  • 我有一个表,比如说,仪表,ID、State和User_ID作为列。 所以我有这个JPA查询来返回所有带有匹配User_ID的仪器记录。 它只返回第一条记录,重复次数与有匹配记录的次数一样多。 我有三张Db格式的唱片,仪器编号是1、2和3 我在hibernate上启用了ShowSQL查询,查询直接在数据库上运行良好,并返回不同的记录。 Hibernate查询: 工具实体 不知道我错过了什么。

  • 问题内容: 我有一些简单的查询: 我想你现在结果如何。 我要做的是根据查询结果中显示的数据量显示一些序号。它就像(这并不意味着我要显示ID)。我想要的结果是: 我该怎么做呢? 提前致谢 问题答案: