某个月中的某些天有历史记录,其它天都没有历史记录. 请问如何查询后,将有历史记录的天用数组的格式返回,
例如 "hasLog":[1,3,10,29,30]
1
lancerliu 2017-05-11 22:05:06 +08:00 1
请教这种问题不带表结构的,也不说明是什么数据库?
数据库里面放的数据是最终数据,不是过程。如果一定要看的话,有 2 种情况: 1.你这张就是日志表,记录了数据增删改每个过程,那你检查 pk 的插入时间和删除时间,就可以获得那天开始有数据,哪天开始没有数据 2.你这张表没有 1 的功能,只存放结果,那过程在哪里呢,在数据库的日志里面。这样的话,看数据库的,比如 mysql 就默认不开日志的(只有 error 日志),其他的基本都要专门的软件来查数据库日志,你还要保证数据库没清理过日志。 所以,你的这个要求,就需要一开始就设计一张日志表,否则,我想不出怎么解决。 |
2
bombless 2017-05-11 23:45:21 +08:00 via Android
Group_concat (distinct xxx) 吧。xxx 的部分我忘了,应该是有函数直接取天数吧,应该是不需要去格式化日期的
|
3
littleylv 2017-05-11 23:51:00 +08:00
mysql: select 日期字段 from table group by 日期字段?
|
4
cye3s 2017-05-11 23:57:02 +08:00 via Android 1
问题不是这么问的啊,浪费的还是你的时间。啥库?表结构?什么叫有历史记录? hbase 的带时间戳的旧版本?关系型数据库历史记录表直接 select distinct 日期取 day 部分?还是楼上说的类似审计的功能?
|
5
yidinghe 2017-05-12 07:58:03 +08:00 via Android 1
像这种问题只要回答:用查询语句去找就可以了。
|
6
kuno1 OP 详情如此,传感器的 sqlite 数据库,有记录就写入数据库,包括精确到毫秒的时间戳和传感器数据,如果使用 distinct,那么是否需要添加一个日期的重复字段?
|
7
yidinghe 2017-05-12 09:05:10 +08:00 via Android
存储空间允许的前提下,添加一个日期字段索引起来,查询会更快。
|
8
armoni 2017-05-12 09:12:36 +08:00
SELECT date(datatime) from history GROUP BY date(datatime); 一般数据库记录都有日期字段吧
|
9
simen513 2017-05-23 11:03:26 +08:00
应该是要打开数据库的审计功能,设置那些需要等级,然后才有可能登记成日志。不同的数据库设置不一样。
|