如何写一个查询语句

wfexp 2006-06-20 08:32:14
数据库结构有如下字段
string zkzid
字段定义:一个字母+年份+数字
例如 H200600001

现有表 zkzinfo
zkzid name gender
H200600001 张三 1
H200600002 李四 1
H200600003 王五 2

如何用sql语句选择出数字最大的一条记录。就是H200600003的那条记录?
...全文
233 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wfexp 2006-06-20
  • 打赏
  • 举报
回复
多谢!JustNoOtherWay(e阿亮)
JustNoOtherWay 2006-06-20
  • 打赏
  • 举报
回复
用数据窗口的话,能把结果集显示出来

SetSQLSelect('SELECT top 1 * FROM zkzinfo ORDER BY RIGHT(zkzid, 5)')

是可以的
JustNoOtherWay 2006-06-20
  • 打赏
  • 举报
回复
Select * Into :RR 当然不行啦

//选出最大的zkzid给变量rr
SELECT top 1 zkzid INTO :rr
FROM zkzinfo
ORDER BY RIGHT(zkzid, 5) Desc;
wfexp 2006-06-20
  • 打赏
  • 举报
回复
我刚才试了一下,用datawindow 的SetSQLSelect(newsql)可以实现,但直接执行可以吗
wfexp 2006-06-20
  • 打赏
  • 举报
回复
我的意思是,能不能直接调用啊
string rr

SELECT top 1 *
INTO :rr
FROM zkzinfo
ORDER BY RIGHT(zkzid, 5);

结果是sqlcacode=0,那正确应该如些写呢
JustNoOtherWay 2006-06-20
  • 打赏
  • 举报
回复
看你的需要了,用数据窗口或者别的什么都行啊
wfexp 2006-06-20
  • 打赏
  • 举报
回复
谢谢各位,但如何在pb的程序里内嵌使用呢?
mnsiii 2006-06-20
  • 打赏
  • 举报
回复
他要的是最大的。。因该在order by 后面加上desc

select top 1 * from tbl ordor by right(zkzid,5) desc
冷箫轻笛 2006-06-20
  • 打赏
  • 举报
回复

--所有数据中数字最大的(不管年份):
select top 1 * from zkzinfo order by right(zkzid,5) desc
--所有数据中年份+数字最大的:
select top 1 * from zkzinfo order by right(zkzid,9) desc
--按年份选出每个年份最大的数字:
select * from zkzinfo t1
where zkzid = (select max(zkzid) from zkzinfo where left(zkzid,5) = left(t1.zkzid,5))
erinux 2006-06-20
  • 打赏
  • 举报
回复
select top 1 * from tbl ordor by right(zkzid,5)

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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