说明值有长有短,同一个人有多条数据,怎样查询姓名为‘张三‘,且‘张三‘说明值最长的那条数据
13 个解决方案
#1
select top 1 * from ryb where xm='张三' order by len(sm) desc
#2
加个TOP 1 with tes这样有多条一样长 也可以同时显示多条。
#3
其实更新说明值最长的那条数据,的某个字段,例如更新字段bz的值为‘最长’,又该怎么写这语句?上面的语句只能查出来
#4
select xm,max(sm)
from ryb
group by xm
from ryb
group by xm
#5
其实我要更新说明值最长的那条数据的某个字段
#6
update a
set a.bz='最长'
from ryb a inner join (select xm,max(sm)sm
from ryb
group by xm) b on a.xm=b.xm and a.sm=b.sm
#7
create table ryb (nam varchar(10),bz varchar(10),sm varchar(20))
insert into ryb
select '张三' as name,null as bz,'你好' as sm union all
select '李四',null,'啊好吗'
update ryb set bz='最长'
where LEN(sm)=(select MAX(len(sm)) from ryb)
--结果
nam bz sm
---------- ---------- --------------------
张三 NULL 你好
李四 最长 啊好吗
(2 行受影响)
#8
大哥你这个不对啊
测试了下 不对啊 都更新了啊
#9
试一下这句
update ryb set bz='最长' from(
select top 1 * from ryb where xm='张三' order by len(sm) desc) as b where ryb.xm=b.xm and ryb.sm=b.sm
#10
版主
字段sm是字符类型
max(sm) 还是其本身值
#11
这样不行?
update ryb set bz='最长'
where len(sm)=
(select top 1 MAX(len (sm)) from ryb)
#12
UPDATE ryb SET 字段=‘’
where bz=
(SELECT TOP 1 bz FROM PRDT ORDER BY LEN(NAME) DESC))
#13
UPDATE ryb SET 字段=‘’
where bz=
(SELECT TOP 1 bz FROM PRDT ORDER BY LEN(bz) DESC))
#1
select top 1 * from ryb where xm='张三' order by len(sm) desc
#2
加个TOP 1 with tes这样有多条一样长 也可以同时显示多条。
#3
其实更新说明值最长的那条数据,的某个字段,例如更新字段bz的值为‘最长’,又该怎么写这语句?上面的语句只能查出来
#4
select xm,max(sm)
from ryb
group by xm
from ryb
group by xm
#5
其实我要更新说明值最长的那条数据的某个字段
#6
update a
set a.bz='最长'
from ryb a inner join (select xm,max(sm)sm
from ryb
group by xm) b on a.xm=b.xm and a.sm=b.sm
#7
create table ryb (nam varchar(10),bz varchar(10),sm varchar(20))
insert into ryb
select '张三' as name,null as bz,'你好' as sm union all
select '李四',null,'啊好吗'
update ryb set bz='最长'
where LEN(sm)=(select MAX(len(sm)) from ryb)
--结果
nam bz sm
---------- ---------- --------------------
张三 NULL 你好
李四 最长 啊好吗
(2 行受影响)
#8
大哥你这个不对啊
测试了下 不对啊 都更新了啊
#9
试一下这句
update ryb set bz='最长' from(
select top 1 * from ryb where xm='张三' order by len(sm) desc) as b where ryb.xm=b.xm and ryb.sm=b.sm
#10
版主
字段sm是字符类型
max(sm) 还是其本身值
#11
这样不行?
update ryb set bz='最长'
where len(sm)=
(select top 1 MAX(len (sm)) from ryb)
#12
UPDATE ryb SET 字段=‘’
where bz=
(SELECT TOP 1 bz FROM PRDT ORDER BY LEN(NAME) DESC))
#13
UPDATE ryb SET 字段=‘’
where bz=
(SELECT TOP 1 bz FROM PRDT ORDER BY LEN(bz) DESC))