如何在同一ID中选择仅一行?
这是我的MySQL代码
public void populateSetDate (int year, int month, int day){
String monthString = String.valueOf(month);
if (monthString.length() == 1) {
monthString = "0" + monthString;
}
etPickupDate.setText(new StringBuilder().append(day).append("-")
.append(monthString).append("-").append(year).append(" "));
etDropDate.setText(new StringBuilder().append(day).append("-")
.append(monthString).append("-").append(year).append(" "));
}
这是我的表
Select * from logoutdetails ORDER BY LogInTime DESC LIMIT 1;
答案 0 :(得分:1)
如果您对从每个ID
获取最新时间戳感到满意,那么您可以试试这个:
SELECT ID, MAX(LogInTime) AS LogInTime
FROM logoutdetails
GROUP BY ID
ORDER BY ID
如果您想保留最早的登录时间,也可以使用MIN()
代替MAX()
。
如果logoutdetails
表有其他列,并且您也想要选择它们,则必须使用子查询首先标识最大ID
个记录,然后再加入原始表。像这样:
SELECT t1.*
FROM logoutdetails t1
INNER JOIN
(
SELECT ID, MAX(LogInTime) AS max_login_time
FROM logoutdetails
GROUP BY ID
) t2
ON t1.ID = t2.ID AND
t1.LogInTime = t2.max_login_time
答案 1 :(得分:0)
由id
分组以获得唯一的。然后,您必须决定每个id
的日期。使用max()
获取每个
Select id, max(LogInTime) as LogInTime
from logoutdetails
group by id