User表中有一列叫type 值有:1(VIP用户)、2(年费用户)、3(包月用户)、4(普通用户)
现在想查询表中满足某些条件的用户,具体条件是:
优先检索是否有type=1的,如果有,仅返回type=1的用户;如果没有type=1的,优先查询type=2的,如果有则返回,如果没有则查询type=3的。。。
数据库是MySQL。小弟最近才开始学习Java,对数据库这块尤其不熟,请前辈们多多指点,谢谢!
User表中有一列叫type 值有:1(VIP用户)、2(年费用户)、3(包月用户)、4(普通用户)
现在想查询表中满足某些条件的用户,具体条件是:
优先检索是否有type=1的,如果有,仅返回type=1的用户;如果没有type=1的,优先查询type=2的,如果有则返回,如果没有则查询type=3的。。。
数据库是MySQL。小弟最近才开始学习Java,对数据库这块尤其不熟,请前辈们多多指点,谢谢!
好了 搞定了,用case when
select * from BT_TIME where MER_ID = '073cfdf90fba4bd5883ba473309c3990' and (
case
when (select count(*) from BT_TIME where WEEK in (1,2,3,4,5,6,7) > 0) then WEEK=1
when (select count(*) from BT_TIME where WEEK=8 > 0) then WEEK=8
when (select count(*) from BT_TIME where WEEK =0 > 0) then WEEK=0
end) order by WEEK,START_TIME;
这个WEEK 就是我上面说的user表里的type,他的取值范围是0-8,但是这个用nutz.dao咋写?只能自定义sql了吧