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

使零出现在升序数列表的最后

彭朝
2023-03-14
问题内容

我在Android应用程序中使用SQLite。
在我所有的表中,我都有一个默认行,该行的索引为0,其中包含该表的默认值。
在大多数情况下,每个字段的默认数字为0,这是最适合使用的数字。
但是,当我使用ORDER BY语句对数据进行排序时,我希望将所有零值字段放在列表的末尾,因为它们通常为空并使用默认信息。
在where语句中排除这些字段是不可接受的,因为我试图对信息进行排序,而不是对其进行过滤。

这是我到目前为止的内容:

select distinct item.name, epoch_date.epoch
from epoch_date, time
where (time.begin_date_id = epoch_date._id)
and (item.time_id = time._id)
order by epoch_date.epoch;

在我的沙盒数据库中,返回的内容如下:

"item 1", 0
"item 2", 0
"item 4", 0
.
.
.
"item 3",  1275350400
"item 42", 1275472800
"item 12", 1275472800

但是我想要的是:

"item 3",  1275350400
"item 42", 1275472800
"item 12", 1275476400
.
.
.
"item 1", 0
"item 2", 0
"item 4", 0

问题答案:

CASE声明建议等效,但更简短:

 ORDER BY epoch_date.epoch == 0, epoch_date.epoch


 类似资料:
  • 问题内容: 我有两个清单如下 和 我试图找出在每个列表中出现最多的值。这就是我尝试过的。 我已经走了这么远,但我想不出如何在删除列表中的所有值之前停止的方法。 问题答案: 如果要查找列表中每个元素的出现,可以使用from的模块:- 因此,前两个元素在您的列表中最常见。 或者,您还传递参数来指定所需的元素数:- 更新:- 您也可以先找出计数,然后再找到具有该值的元素总数,然后可以将其用作参数:-

  • 我们有一个列表: 每个条目是一个由两个字符串组成的字符串,由空格分隔。目标是找到出现次数最多的所有条目(即10.0和10.3,共出现2次)。 下面的代码有效。问题是,这3条语句是否可以减少到1条或至少2条?

  • 我正在尝试编写一个程序,它将多个数字和一个基数作为参数,并通过非零数字升序的数字向上计数。例如,在具有3位数字的基数4中,它应该打印: 000 001 002 003 010 011 012 013 020 022 023 030 033 100 101 102 103 110 111 112 113 120 122 123 130 133 200 202 203 220 222 223 230

  • 问题 怎样找出一个序列中出现次数最多的元素呢? 解决方案 collections.Counter 类就是专门为这类问题而设计的, 它甚至有一个有用的 most_common() 方法直接给了你答案。 为了演示,先假设你有一个单词列表并且想找出哪个单词出现频率最高。你可以这样做: words = [ 'look', 'into', 'my', 'eyes', 'look', 'into',

  • 问题内容: 如何在Java中根据该值的出现次数以升序排列数组中的元素。 这是我尝试过的: 问题答案: 这是一种开始的方法,可以基于以下想法:对映射中初始数组中每个整数发生的次数进行计数。计算完所有数字后,请按升序对地图进行排序,然后打印地图的输出: 它使用一个类来比较中的值:

  • 我试图解决下面提供的Codness中的一个问题, 编写一个函数: 给定一个由N个整数组成的数组A,返回A中不出现的最小正整数(大于0)。 例如,给定A=[1,3,6,4,1,2],函数应该返回5。 假定: N是范围[1...100,000]内的整数;数组A的每个元素都是范围[−1,000,000..1,000,000]内的整数。 预期最坏情况时间复杂度为O(N);预计最坏情况下的空间复杂度为O(N