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

SQL:ORDER BY两列混合在一起,不是基于优先级的

麻华辉
2023-03-14
问题内容

我正在使用mySQL。我必须按姓氏排序联系人的姓名,但是在没有姓氏的情况下,我要按姓氏排序。

看起来像:

ORDER BY lastname = "", lastname, firstname

但是,这会使带有姓氏的人出现在顶部。我想要的行为是将名字和姓氏混合在一起,就像它们来自同一字段一样。

示例(假设这些是名称):

A,T 
Z,G 
A 
B 
C

相对:

A
A,T
B
C
Z,G

谢谢


问题答案:

使用COALESCE和NULLIF:

ORDER BY COALESCE(NULLIF(LastName, ''), FirstName), FirstName


 类似资料:
  • 我已经有了优先级队列的概念,但是当涉及到索引优先级队列时,我对change(int k,Item Item)和delete(int I)等方法的实现有点困惑。 change(int k,Item Item)是将k关联的项目改为Item delete(int i)是删除k及其关联项

  • 非常感谢您抽出时间!

  • 是否有可用于 Haskell 的斐波那契堆/优先级队列?(甚至是渐近更好的?我在这个问题中找到了各种优先级队列实现的列表,但我找不到它们中的任何一个是否满足斐波那契堆的摊销运行时间: < li>Find-minimum是O(1)摊销时间。 < li >操作insert、decrease key和merge (union) work是O(1)摊销时间。 < li >操作删除和删除最小值是O(log

  • 我有一个自定义CSS用于引导程序。一直以来,我都是在bootstrap之前先编写CSS,然后我意识到在CSS之前应该先编写bootstrap。现在我的呈现有问题,例如字体大小和颜色,特别是我在CSS文件中自定义的bootstrap的。 对于上面的内容,我的网页按我想要的方式加载(到目前为止)。CSS中的代码正常工作。但当我尝试定制其他东西时,它们就不起作用了。 对于上面的情况,我的网页加载了我的样

  • 我需要一个优先级队列,它首先获得具有最高优先级值的项目。我当前正在使用队列库中的PriorityQueue类。但是,这个函数只先返回值最小的项。我尝试了一些很难看的解决方案,比如(sys.maxint-priority)作为优先级,但我只是想知道是否存在更优雅的解决方案。

  • 我有一个这样的df: 对于每个ID,我有5列A1到A5(实际上我有更多),并且这些值是特定ID的最高优先级。 例如:ID 1将A1、A3和A5作为优先级,ID 3只有2个A2和A1,ID 5没有优先级 合成DF 我尝试使用和使用这个和这个以及更多的方法来实现相同的功能,但无法获得相同的结果df。 这方面的任何帮助或我这边的清晰度!!