关于sql查询语句想请教一下各位大佬
sqlserver吧
全部回复
仅看楼主
level 1
需求:从t_send_wight 表查出3条秤各自最新的100条数据
select top 100 *
from t_send_wight
where WT_MCHN_CODE= '1'
order by REC_CREATE_TIME desc;
select top 100 *
from t_send_wight
where WT_MCHN_CODE= '2'
order by REC_CREATE_TIME desc;
select top 100 *
from t_send_wight
where WT_MCHN_CODE= '3'
order by REC_CREATE_TIME desc;
想了半天没想出来怎么用一条sql写出来,这样子用表连接太长了,怎么改成一条sql。望各位大佬指教一下!
2020年08月06日 07点08分 1
level 13
select top 300 *
from t_send_wight
where WT_MCHN_CODE in ('1','2','3')
order by REC_CREATE_TIME desc;
2020年08月07日 07点08分 2
你这300条里面不是1-2-3的各自100条
2021年01月04日 03点01分
level 6
一段SQL实现不难,但是这不是最优解。其实你的三个SQL用UNION ALL合并就是最优解了。
2021年01月05日 00点01分 3
level 6
一段SQL写法如下:
select *
from t_send_wight a
where WT_MCHN_CODE in( '1','2','3')
and (select count(1) from t_send_wight where REC_CREATE_TIME>=a.REC_CREATE_TIME
and WT_MCHN_CODE=a.WT_MCHN_CODE)<=100
order by WT_MCHN_CODE,REC_CREATE_TIME desc
2021年01月05日 00点01分 5
1