Php mysql查询,根据最新时间戳获取最小值
嗨,我试图找到一个查询的解决方案,以获得最小值以及最新的时间戳 我有以下几张表 表1Php mysql查询,根据最新时间戳获取最小值,php,mysql,sql,Php,Mysql,Sql,嗨,我试图找到一个查询的解决方案,以获得最小值以及最新的时间戳 我有以下几张表 表1 sno user_id name subject rank Timestamp 1 10 SS maths1 1 2014-12-05 17:24:33 2 10 SS maths2 2 2014-12-05 17:24:33 3 10 PH phy1 3 2014-12-05 17:24
sno user_id name subject rank Timestamp
1 10 SS maths1 1 2014-12-05 17:24:33
2 10 SS maths2 2 2014-12-05 17:24:33
3 10 PH phy1 3 2014-12-05 17:24:33
4 10 PH phy2 4 2014-12-05 17:24:33
5 10 SS maths1 2 2014-12-04 17:24:33
6 10 SS maths2 1 2014-12-04 17:24:33
7 10 PH phy1 3 2014-12-04 17:24:33
8 10 PH phy2 4 2014-12-04 17:24:33
表12
sno name Status
1 SS Active
2 PH ACtive
3 So Inactive
所以我试图得到以下结果
sno userid name subject rank timpestamp
1 10 SS maths1 1 2014-12-05 17:24:33
2 10 PH phy1 3 2014-12-05 17:24:33
到目前为止,我尝试了这个查询,我能够获得具有不同名称的主题的最新时间和最低排名值。
但它们彼此不连接意味着我从其他行获得最晚的时间戳和最小的值。请帮我解决这个问题
SELECT DISTINCT(T1.`name`),
T1.`user_id`,
T1.`subject`,
MAX(T1.`Timestamp`) as latest_Timestamp,
MIN(T1.`rank `) as rank
FROM Table1 T1,Table2 T2
where T1.`user_id`='10'
AND T2.`status` = 'Active'
AND T1.`name` = T2.`name`
GROUP BY T1.`exercise_id`
ORDER BY T1.`quality_id`, T1.`Timestamp` ASC
关系数据库在集合上运行良好。因此,请考虑不同集合中的数据
- 您需要一个组合t1和t2的集合
- 您需要t1的子集,该子集只包含每个用户Id和名称的最小秩和最大时间戳
SELECT T1values.name,
T1values.user_id,
T1values.subject,
T1values.rank,
T1values.timestamp
FROM Table2 T2
INNER JOIN table1 t1Values
ON t1values.sno = t2.sno
and t2.status='Active'
INNER JOIN (SELECT user_Id, name max(timestamp) maxTime, min(rank) Mrank
FROM Table1
GROUP BY user_Id, Name) T1
ON t1.name = T1values.name
and t1.user_Id = t1values.user_ID
and t1.maxTime = T1Values.timestamp
and t1.rank = T1values.mrank
WHERE T1values.user_id='10'
ORDER BY T1values.quality_id, T1values.Timestamp ASC
在我看来,您希望每个用户具有最新时间戳的最高排名,否则排名2应显示为排名4。这是正确的吗??但它们都是活动的,所以不用担心t2Hi xQbert我尝试了你的查询,但它在所有方面都不起作用。