我有一个数据库表 “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