2014-03-25 37 views
1

我有這樣的表:的MySQL選擇其中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, 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) 
+0

提供[sqlfiddle(HTTP: //sqlfiddle.com/)和適當的模式定義,並從查詢中添加你想要的結果集 –

+0

從你的問題中不清楚你在這裏要做什麼。請澄清。還要爲您在連接中使用的其他2個表格添加表格描述。 –

+0

嘿,對於這種問題抱歉,但幸運的是,Vignesh Kumar設法解決了我的問題!同事也設法給我另一個解決方案! – user3458752

回答

0

嘗試這樣

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 
+0

在這個解決方案中有幾個拼寫錯誤,但設法通過從第一次選擇刪除b.id並在「AS T ON T.MexDate」中找出錯誤。 – user3458752

相關問題