【问题标题】:SQLITE, Group by range of 1000sSQLITE,按 1000 范围分组
【发布时间】:2015-06-19 03:37:26
【问题描述】:

我在 android 的 sqlite 中有一个包含两列的数据库

  id (INT)     | owner (VARCHAR) 
 1477            jack
 1578            jill
 :               :
 9277            hill 

1) 我喜欢计算以下内容:- (按 1000 秒范围分组)

RANGE    | COUNT
0-999      0
1000-1999  5
:
8999-9999  7

2) 我还想计算以下内容:- (按 100 秒范围分组)

RANGE    | COUNT
X1XX       5
X2XX       6
:
X9XX       7

3) 并且还按 10 秒范围分组。

我不知道怎么做这个小组

SELECT COUNT(*) FROM myTable 
GROUP BY ??

任何指针表示赞赏。

【问题讨论】:

    标签: android sqlite


    【解决方案1】:

    在 sqlite3 中整数除以整数得到整数:

    select id/1000 as range_id, count(*) as range_count from mytable group by range_id;
    

    要按 100 个 id 分组,只需将 1000 更改为 100

    sqlite3 有一个 printf() 函数,如果您需要比 id 除以组大小的整数除法更漂亮的东西,它可能有助于制作漂亮的列来描述范围。

    【讨论】:

    • 它有效!感谢您的指点。对于第 100 个位置,我将 range_id 修改为 (id%1000)/100。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 2020-04-29
    • 1970-01-01
    • 1970-01-01
    • 2013-11-04
    • 2021-05-06
    相关资源
    最近更新 更多