使用特定ID从最近一行中选择数据

时间:2014-11-19 09:27:05

标签: php mysql mysqli

我有一个如下所示的数据库:

ID   |   account_ID   |       date_time       |   followers
--------------------------------------------------------------
1    |         1813   |  2014-11-16 09:31:52  |        1527
--------------------------------------------------------------
2    |         1826   |  2014-11-16 09:31:52  |         900
--------------------------------------------------------------
3    |         1854   |  2014-11-16 09:32:25  |       15342
--------------------------------------------------------------
4    |         1813   |  2014-11-16 16:31:52  |        1539
--------------------------------------------------------------
5    |         1826   |  2014-11-16 16:31:52  |         905
--------------------------------------------------------------
6    |         1854   |  2014-11-16 15:32:25  |       15349
--------------------------------------------------------------

数据库每天重复两次相同类型的条目。因此,account_ID 1813年,1826年,1854年等每天都会有两个新条目。

如何为特定followers的最后一个条目选择account_ID的数量?

因此,使用上述数据,我会包含account_ID 1813并获取follower_count 1539.

如果有帮助,我正在使用PHP和mySQLi。

4 个答案:

答案 0 :(得分:2)

尝试此查询

  select account_Id, follower_count from TAble where date_time =
 (select max(date_time) from table where account_ID = 1813)

查询本身解释:

  • 首先获取该帐户ID的最长日期
  • 在最长日期选择该ID的跟随者计数..

答案 1 :(得分:1)

select followers
from your_table
where account_ID = 1813
order by date_time desc
limit 1

答案 2 :(得分:1)

可能低于查询帮助你

select followers
from your_table
where account_ID = 1813
order by date_time desc
limit 1

答案 3 :(得分:0)

主要选择给出你明确的账户价值......你可以给出一个where clausule和具体的account_id。克劳斯十字交叉应用给你夹紧选择用于行每行由clausule in.some解释:主选择值为1,然后钳位选择使用它在clausule并返回最后插入的追随者,因为有clausule命令

SELECT DISTINCT a.account_id ,z.followers
FROM YourTable a
CROSS APPLY (SELECT TOP 1 followers FROM YourTable x WHERE a.account_id = x.account_id order by ID DESC) z