我試圖寫一個SELECT語句檢索姓名和身份的行只是爲了與最近dateended特定的TIDSQL:GROUP BY與集合函數條款
表模式看起來像
ID int
Name varchar(100)
TID int
DateStarted datetime
DateEnded datetime
Status int
TestQueueTable varchar(50)
TQDID int
ResultsFile varchar(255)
TextResultsFile varchar(255)
當我寫選擇
select name,status,max(dateended)
from testcasedata
where tid='87946'
group by name,status
檢索的行是如下
name status max(dateended)
=====================================================================
IntegrationPlumbingTest 2 2013-09-19 09:24:30.000
LCEventLogger 2 2013-09-19 09:23:52.000
NonReferralGQ_1 2 2013-09-19 09:23:06.000
NonReferralGQ_2 2 2013-09-19 09:22:48.000
ApplyToJobFromTGAndVerifyFrom_A 3 2013-09-20 02:17:54.000
PostReqAndVerifyFrom_A 3 2013-09-20 01:47:33.000
PostReqAndVerifyFrom_B 3 2013-09-20 02:04:09.000
Verify_UploadResume 3 2013-09-19 12:21:49.000
ApplyToJobFromAndVerifyFrom_B 2 2013-09-19 03:24:67.000
ApplyToJobFromAndVerifyFrom_B 3 2013-09-20 02:23:05.000
在這裏,我實際上應該只顯示不同的名稱和狀態,其中如果一個名稱的狀態含有二是應只顯示該行,否則它應該由max(dateended)
連最後的顯示名稱和狀態組兩條記錄
ApplyToJobFromAndVerifyFrom_B 2 2013-09-19 03:24:67.000
ApplyToJobFromAndVerifyFrom_B 3 2013-09-20 02:23:05.000
也應該分組成一個最新的日期。
終於從我想要的名稱,狀態,dateended記錄不與的maxDate
任何重複可以請你告訴我如何進行表..
我不知道你的意思。你能編輯你的問題以包含你想要的結果嗎,所以我們可以看到它與你目前的嘗試有什麼不同? – IMSoP
*「...如果一個名稱的狀態包含2,它應該只顯示該行。」*看起來這正是它現在正在做的事情。 *「...否則它應該顯示名稱和狀態組由max(dateended)...」*它看起來正是它現在正在做的。 –
這是正確的嗎? 「如果名稱沒有狀態2,則應顯示其最後一個條目,否則應顯示狀態2條目。」如果是這樣,如果每個名稱有兩個或兩個以上的狀態2條目呢?結果應該包含全部還是僅包含一個(每個名稱)?如果一個,那麼哪一個? –