MySQL选择最大日期和最大时间的位置

MySQL选择最大日期和最大时间的位置,mysql,select,max,Mysql,Select,Max,我有这样的桌子: CREATE TABLE Buckets ( id INT UNSIGNED AUTO_INCREMENT, checkDate DATE NOT NULL, checkTime TIME NOT NULL, accountId CHAR(13), costCenter VARCHAR(30), percentage DECIMAL(5,2), UNIQUE INDEX (checkDate, checkTime, ac

我有这样的桌子:

CREATE TABLE Buckets (
    id INT UNSIGNED AUTO_INCREMENT,
    checkDate DATE NOT NULL,
    checkTime TIME NOT NULL,
    accountId CHAR(13),
    costCenter VARCHAR(30),
    percentage DECIMAL(5,2),

    UNIQUE INDEX (checkDate, checkTime, accountId, costCenter),
    PRIMARY KEY (id)

)ENGINE=InnoDB;
我目前有这类数据:

1 2014-03-24 08:11:27 387909559196 72350 86.92
2 2014-03-24 08:11:27 387909559196 analytics 12.71
3 2014-03-24 08:11:27 387909559196 json-files 0.36
4 2014-03-24 08:11:27 387909559196 cloud 0.01
5 2014-03-25 08:11:27 387909559196 72350 86.92
6 2014-03-25 08:11:27 387909559196 analytics 12.71
7 2014-03-25 08:11:27 387909559196 json-files 0.36
8 2014-03-25 08:11:27 387909559196 cloud 0.01
9 2014-03-25 08:38:55 387909559196 72350 86.92
10 2014-03-25 08:38:55 387909559196 analytics 12.71
11 2014-03-25 08:38:55 387909559196 json-files 0.36
12 2014-03-25 08:38:55 387909559196 cloud 0.01
我想选择最长日期和最长时间。在这种情况下,结果应仅包括第9-12行

到目前为止,我已经尝试过这种查询,但不幸的是,我没有得到我想要的结果:

SELECT b.id, b.checkDate, b.checkTime, b.AccountId, b.costCenter, b.percentage, c.id, c.name FROM Buckets b
JOIN CustomerAccounts ca ON (b.accountId= ca.linkedAccountId)
JOIN Customer c ON (ca.customerId = c.id)
WHERE checkDate = (SELECT max(checkDate) FROM Buckets)
AND checkTime = (SELECT max(checkTime) FROM Buckets)
像这样试试

SELECT * FROM
(
  SELECT b.id, b.checkDate, b.checkTime, b.AccountId, b.costCenter, b.percentage, c.id, c.name     
  FROM Buckets b JOIN CustomerAccounts ca ON (b.accountId= ca.linkedAccountId)
                 JOIN Customer c ON (ca.customerId = c.id)
) AS S JOIN 
(
  SELECT max(checkDate) AS MaxDate,max(checkTime) As MaxTime FROM Buckets
) AS T ON T.MaxDate = S.checkDate AND S.checkTime = T.MaxTime 

为您的模式提供正确的定义,并从查询中添加您想要的结果集。您的问题不清楚您想在这里做什么。请澄清。还包括您在联接中使用的其他两个表的表说明。嘿,很抱歉出现这种问题,但幸运的是Vignesh Kumar解决了我的问题!而且同事也设法给了我另一个解决方案!在这个解决方案中有两个拼写错误,但通过从first select中删除b.id,并在“T.MexDate上的AS T”中找到了拼写错误。