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

SQL:需要使用group by或任何其他方式对值进行排序

景宏富
2023-03-14
问题内容

这是我桌子上的风景。首先,我必须按照ITime
asc的顺序查找,但如果ITime中有相同的记录,则记录顺序为``减->失败->撤回’‘。请检查下面的临时表。

if object_id('tempdb.dbo.#temp321','U') is not null
drop table tempdb.dbo.#temp321
create table #temp321(
id int,
uname varchar(50),
ITime datetime,
Result varchar(10)
)
INSERT into #temp321 values('1','a','2012-11-12 13:12:28.103','pass')
INSERT into #temp321 values('2','b','2012-11-12 13:12:28.103','fail')
INSERT into #temp321 values('3','c','2012-11-12 12:58:30.000','pass')
INSERT into #temp321 values('4','d','2012-11-12 13:12:28.103','withdrow')
INSERT into #temp321 values('5','e','2012-11-12 12:58:41.360','withdraw')
INSERT into #temp321 values('6','f','2012-11-12 13:12:28.103','pass')
INSERT into #temp321 values('7','g','2012-11-12 13:12:28.103','fail')
select ID from #temp321 ORDER BY ITime ASC
drop table #temp321


Expected outcomes ID value : 3,5,1,6,2,7,4

我该怎么做?提前致谢。


问题答案:
ORDER BY ITIME ASC,
         CASE Result WHEN 'pass' THEN 1
                     WHEN 'fail' THEN 2
                     WHEN 'withdraw' THEN 3
                     ELSE 4
                     END,
         ID;


 类似资料:
  • 我有: 三个表:、和. CursorLoader和CursorAdapter:和. ListView:一个简单的ListView. 是否可以坚持使用并使用另一个表中的列实现对的排序?

  • 我们如何用Quartz调度器或任何Java/Spring api来实现这一点? 例如,假设任何石英作业启动,并且间隔设置为10分钟,因此在理想情况下,作业将在下一个10分钟间隔内运行。但每次作业运行时,我们都希望从数据库中获取最新的时间间隔并对其进行调度。 10:00作业运行且在数据库中的时间间隔设置为10分钟10:10作业运行且在数据库中的时间间隔设置为20分钟 所以下一次作业应该在10:30运

  • 问题内容: 我有一个索引器,其中包含一个名为“ billingSequence”的字段。映射中该字段的数据类型为String,并且该字段的每个记录的值可以是1到30之间的一个。我使用此字段进行聚合,并且在尝试对_terms进行排序时,该字段的排序不正确是字符串类型。 上述聚合排序的结果是-1 11 12 13 14 15 16 17 18 19 2 3 4 5等。 预期结果是-1 2 3 4 5

  • 下面是我写的JUNIT测试,用来比较从Json字符串创建的对象(实际)和在测试函数中创建的对象(预期)。 但是当我执行assertEquals()时,它没有通过测试。原因可能是什么? 我的销售渠道课程是:

  • 我已经浏览了Python文档提供的信息,但我仍然有点困惑。有人可以发布示例代码来编写一个新文件,然后使用pickle将字典转储到其中吗?

  • 我正在做一个需要调用其他任务的任务。 我尝试通过添加build.dependson clean来修复原始目标,但这似乎没有影响。 感谢任何帮助。