我有一個數據庫表 「dmAutoDropAndCal」 有以下的列:
更好的MySQL聲明
USER_NAME varchar
LAST_AUTO_DROP_CHECK bigint
NEXT_DM_EVENT bigint
NEXT_CAL_UPDATE_TIME bigint
NEXT_DM_EVENT
,LAST_AUTO_DROP_CHECK
和NEXT_CAL_UPDATE_TIME
是代表以毫秒爲單位的時間戳所有的Java多頭。我需要檢索25 USER_NAME
s。我想過去用NEXT_DM_EVENT
返回所有USER_NAME
。如果沒有,則檢索用戶名,其中NEXT_CAL_UPDATE_TIME
過去。
目前我正在做這2個語句,但我想用一個語句來做到這一點。這可能嗎?這是我的兩個陳述。
注:(當前時間)是Java長...例如:1403434909872
聲明1: SELECT USER_NAME FROM dmAutoDropAndCal
WHERE NEXT_DM_EVENT
<(當前時間)ORDER BY NEXT_DM_EVENT
ASC
..here我用前25個結果填充一個對象(如果有的話)。如果不是25,然後運行以下...
聲明2:
SELECT USER_NAME FROM dmAutoDropAndCal
WHERE NEXT_CAL_UPDATE_TIME
<(當前時間)ORDER BY NEXT_CAL_UPDATE_TIME
ASC
再次..once,是有辦法用一個陳述來做到這一點?
這是一個純粹的SQL問題,所以你最好是去消除所有的Java和只關注SQL。首先在mysql命令行(或IDE)會話中工作,然後擔心Java。 – 2014-09-03 19:29:03