Mysql 如何使用Group by查找ID的最后记录并使用time进行检查?
这是我的主表,其中包含这种类型的记录Mysql 如何使用Group by查找ID的最后记录并使用time进行检查?,mysql,Mysql,这是我的主表,其中包含这种类型的记录 id | a_id | datetime ------------------------ 1 | 1 | 2016-01-07 15:42:14 2 | 1 | 2016-01-08 16:42:14 3 | 1 | 2016-01-09 17:42:14 4 | 2 | 2016-01-07 15:42:14 5 | 2 | 2016-01-08 16:42:14 6 | 2 | 2016-0
id | a_id | datetime
------------------------
1 | 1 | 2016-01-07 15:42:14
2 | 1 | 2016-01-08 16:42:14
3 | 1 | 2016-01-09 17:42:14
4 | 2 | 2016-01-07 15:42:14
5 | 2 | 2016-01-08 16:42:14
6 | 2 | 2016-01-09 17:42:14
7 | 2 | 2016-01-10 18:42:14
8 | 2 | 2016-01-11 19:42:14
我想要像这样的输出:
假设我的当前时间是17:50:00,那么我的以下结果将在我当前时间的半小时之前插入
id | a_id | amount
------------------------
3 | 1 | 2016-01-09 17:42:14
如何获得这种输出?类似的方法应该可以:
SELECT *
FROM mytable
WHERE `datetime` BETWEEN DATE_ADD(NOW(), INTERVAL -30 MINUTE) AND NOW()
编辑:
要获取最新的每组记录,然后查找这些记录是否在指定的时间间隔内,可以使用以下查询:
SELECT id, a_id, `datetime`
FROM (
SELECT id, a_id, `datetime`,
@rn := IF(@aid = a_id, @rn + 1,
IF(@aid := a_id, 1, 1)) AS rn
FROM mytable
CROSS JOIN (SELECT @rn := 0, @aid := 0) AS vars
ORDER BY a_id, `datetime` DESC) AS t
WHERE t.rn = 1 AND
`datetime` BETWEEN DATE_ADD(NOW(), INTERVAL -30 MINUTE) AND NOW()
试试这个
SELECT *
FROM table_name
WHERE `date_time`
BETWEEN DATE_ADD(NOW(), INTERVAL -30 MINUTE) AND NOW();
像这样的东西应该有用
如果max(a_id)不起作用,那么您还应该将datetime字段名放在那里,但首先使用sql将其转换为字符串
SELECT p1.* , p1.a_id as a_id
FROM tbl_name p1
INNER JOIN
(
SELECT max(a_id) as MaxVal
FROM tbl_name
GROUP BY a_id
) p2
ON p1.id = p2.id
AND p1.a_id = p2.MaxVal
WHERE p1.datetime >= DATE_SUB(NOW(),INTERVAL 0.5 HOUR)
万一有人想得太多了
SELECT *
FROM main
WHERE datetime < NOW() - INTERVAL 30 MINUTE
ORDER
BY datetime DESC
LIMIT 1;
选择*
从主要
其中datetime
如何处理查询分组?@JayDoshi为什么需要一个查询分组?@JayDoshi:-在这种情况下,您不需要使用分组依据。我需要分组依据,因为我需要一个u id的最后一条记录,然后我要检查它是否在当前时间和半小时之前。@JayDoshi您所说的u id的最后一条记录是什么意思?您的id是什么答案与Giorgos Betsos不同?我在同一时间添加了它,但这与Giorgos相同,我在得到它之前不知道。我只是想知道。大多数情况下都会发生:)@RahulTripathi好吧,但我从giogos回来晚了一分钟,所以每个人都可以责怪我你从别人的邮件中抄来的。我说,你可能会错过一开始的回答。如果你担心人们会责怪你,那么你可以删除它,因为它与Giorgos基本相同。同样根据OP的评论,这并没有解决他/她的问题:PWAH Bhailu。。古菊岩……是的。这就是我想要的。谢谢。非常欢迎兄弟。请告诉我你的联系电话。好的。我稍后会寄给你。:)让我们。