【发布时间】:2019-01-03 06:10:10
【问题描述】:
UniqueID | MobileNumber | createDate
-----------+---------+-----+------------+-----------
U_23121 | 987654 | 2013-02-05
U_23124 | 987654 | 2013-02-02
U_23122 | 845263 | 2013-01-18
U_23128 | 654789 | 2013-01-16
U_23123 | 735689 | 2013-01-12
U_23128 | 654789 | 2013-01-11
U_23128 | 654789 | 2013-01-10
U_23126 | 987654 | 2013-01-09
U_23125 | 845263 | 2013-01-07
U_23126 | 845263 | 2013-01-06
U_23125 | 987654 | 2013-01-05
如果不止一个继续根据 createdDate 获取最新信息,我想用手机号码进行过滤记录,并获得类似的计数
UniqueID | Mobile_Number | createDate | count
-----------+---------+-----+------------+-----------
U_23121 | 987654 | 2013-02-05 | 2
U_23122 | 845263 | 2013-01-18 | 1
U_23128 | 654789 | 2013-01-16 | 1
U_23123 | 735689 | 2013-01-12 | 1
U_23128 | 654789 | 2013-01-11 | 2
U_23126 | 987654 | 2013-01-09 | 1
U_23125 | 845263 | 2013-01-07 | 2
U_23125 | 987654 | 2013-01-05 | 1
我会从以下查询中得到需要但没有得到计数的记录
SELECT te.*
FROM tableName as te
WHERE te.Mobile_Number <> (select Mobile_Number
from tableName
where createDate > te.createDate
limit 1
)
ORDER BY te.createDate DESC
【问题讨论】:
-
它的mysql还是sqlite?这些是不同的 DBMS。如果是 mysql,则编写您正在使用的版本。我已经更改了标签。
-
@RadimBača 是 SQLITE
-
哪个版本的sqlite?你有 3.25 或更多吗?
-
是 android SQLITE db 的查询需求,所以可能不是效果版本。
-
你能在你的数据库中测试
select row_number() over (order by createdate) from tablename查询吗?
标签: android sql database gaps-and-islands