当前位置:首页 » 编程语言 » sql中同一表的比较
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql中同一表的比较

发布时间: 2022-12-31 04:33:19

sql 同一表内同一列的前后值对比

我的解决方法必须有一个字段,该字段的值是连续的,并且是唯一的

我就新增一个自动增长列id(id是主键)

你这里没有说表结构,我虚拟一个表结构

表:Test

字段:id,ThisTimeInDept,ThisTimeInTime

sql语句如下:

SELECTb.ThisTimeInTime,casewhendatediff(dd,b.ThisTimeInTime,a.ThisTimeInTime)>1thenb.ThisTimeInDeptelse0end

fromTestaleftjoinTestb

onb.id=(selectmax(id)fromTestwhereid<a.id)

我这里为了方便比较前一条的日期也显示出来了,效果图如下

㈡ 关于sql的问题,同一个表中同列数据的比较,具体内容如下:

1.

electa.[名字]fromscoreainnerjoinscoreb
ona.[名字]=b.[名字]anda.[科目]='语文'andb.[科目]='数学'
wherea.[分数]>80andb.[分数]>80

2.

electa.[名字]fromscoreainnerjoinscoreb
ona.[名字]=b.[名字]anda.[科目]='语文'andb.[科目]='数学'
wherea.[分数]<b.[分数]

㈢ sql语句:比较同一表中的两列,找出a列中有而b列中没有的数据,并添加到c列

建表

createtablet
(aint,bint)

insertintotvalues(1,2)
insertintotvalues(2,3)

执行

selecta,b,casewhenbin(selectafromt)then1elsenullendfromt

结果

㈣ sql语句:比较同一表中的两列,找出a列中有而b列中

建表 create table t(a int,b int)insert into t values (1,2)insert into t values (2,3)执行 select a,b,case when b in (select a from t) then 1 else null end from t结果sql语句:比较同一表中的两列,找出a列中有而b列中

㈤ sql 同表字段间如何比较

--同一个表时,直接用

select * from 表 where A<B

㈥ SQL中同一个表中如何进行对比查询

selectt1.flow_no
from(selectflow_no,sum(old_amount)fffrompos_t_payflowgroupbyflow_no)t1
leftjoin(selectflow_no,sale_amountfrompos_t_payflowwhereflow_id='1')t2
ont1.flow_no=t2.flow_no
wheret1.ff<>coalesce(t2.sale_amount,-1)

㈦ Sql server 同一张表的,两个列如何进行比较

查询文件和实际保存路径不一致的SQL

select*from表wherelen(replace(a,b,''))=len(a)

㈧ 怎样用sql语句比较同一个表中不同记录中相同数值的个数,并按个数的多少排序

来个比较简单的~~
新插入的数据记录的值肯定都知道吧,比如是 id = "101",name ="abc",date...
select id,name date,type,color,(t1.count1+t1.count2+count3+count4) as count from (
select id,name,date,type,color
,case when id = '101' then 1 else 0 end as count1
,case when date = 'xxx' then 1 else 0 end as count2
,case when type= 'xxx' then 1 else 0 end as count3
,case when color= 'xxx' then 1 else 0 end as count4
from a where name = 'abc') t1
group by (t1.count1+t1.count2+count3+count4) desc

㈨ 用sql将同一表中所有的A和B列的值做比较 将每行最大的值放到A中

两种写法

--1.更新B>A的数据,在WHERE判断,性能更佳,无需更新到每一条数据
UPDATE表名SETA=BWHEREB>A
--2.更新所有的数据,在CASE里判断
UPDATE表名SETA=CASEWHENB>ATHENBELSEAEND