怎么查询最新的两条数据的某个字段是否相等?

katzel 2015-07-13 05:24:22
比如表是这样的:

shijian paihao pici data
2013-7-13 16:16:00 1 150713001 1260
2013-7-13 16:16:30 1 150713001 1053
2013-7-13 16:17:00 1 150713001 856
2013-7-13 16:17:30 1 150713001 412
2013-7-13 16:18:00 1 150713001 0
2013-7-13 16:18:30 21 150713002 0

我现在需要比对新插入的数据的牌号和批次信息是否和上一条插入的数据的是否不同,不管是牌号不同还是批次不同,只要两者中有一个不同,我就要触发一段程序

而且这个表是每隔30秒就要写入新数据的


各位大虾些!先谢谢你们了!

...全文
254 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
katzel 2015-07-14
  • 打赏
  • 举报
回复
我是在vs2008里面编程,所以@paihao 什么的是没用的!!!各位大侠
Tiger_Zhao 2015-07-14
  • 打赏
  • 举报
回复
SELECT COUNT(DISTINCT paihao)*COUNT(DISTINCT pici) r
FROM (
SELECT TOP 2 *
FROM table1
ORDER BY shijian DESC
) t1

如果返回的 r=1 就是相同,否则(r=2、4)就是不同。
wtujedp 2015-07-14
  • 打赏
  • 举报
回复
你最新的是根据什么来判断的,shijian字段?如果是这样的话,你在程序里面 select top 2 * from table order by shijian desc 然后在程序里面你想怎么比较就怎么比较。
道玄希言 2015-07-13
  • 打赏
  • 举报
回复
select COUNT(1) FROM tb WHERE shijian IN (select MAX(shijian) from tb) AND paihao=@paihao and pici=@pici
许晨旭 2015-07-13
  • 打赏
  • 举报
回复
需求没说清楚,先这样给你试试,只要判断查询结果: 0 --要触发程序 1 --不需要触发
select COUNT(1)
from (select top 1 paihao,pici from tb order by shijian) a
where a.paihao=@paihao and a.pici=@pici

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧