mysql查询小疑问

半坡人 2019-09-10 05:22:48
现在我有一张期数表,期数字段是用来保存期数的,但类型是varchar2型的,现在想查询最新期数,但无法使用max函数(貌似只有数字类型有效),怎么办? select * from tab where period =(select max(period) from tab)
...全文
187 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
独木成林_ 2019-09-12
  • 打赏
  • 举报
回复
引用 4 楼 半坡人 的回复:
[quote=引用 2 楼 独木成林_的回复:][quote=引用 1 楼 独木成林_ 的回复:]


select * from tab  order by period  desc limit  1

select * from tab  order by period  desc limit  1
[/quote] 用排序的话只会对1-9进行排序,如果我有1-11期,排第一个就是9了[/quote]

----我用的是sql server 2017

if not object_id(N'Tempdb..#tab') is null
	drop table #tab
Go
Create table #tab([name] nvarchar(21),[qname] nvarchar(24),[heji] int)
Insert #tab
select N'A',N'永久',10 union all
select N'A',N'12個月',20 union all
select N'A',N'6個月',30 union all
select N'A',N'3個月',40 union all
select N'A',N'永久',15 union all
select N'A',N'12個月',6 union all
select N'A',N'6個月',5 union all
select N'B',N'永久',20 union all
select N'B',N'12個月',30 union all
select N'B',N'6個月',40 union all
select N'B',N'3個月',50 union all
select N'B',N'永久',1
Go
select * from #tab
Select IDENTITY(INT,1,1) AS 序号,*  into #aa from #tab
select * from #aa


极客诗人 2019-09-12
  • 打赏
  • 举报
回复
转一下呗 还有你的期数为什么不用整型
半坡人 2019-09-12
  • 打赏
  • 举报
回复
引用 2 楼 独木成林_的回复:
[quote=引用 1 楼 独木成林_ 的回复:]


select * from tab  order by period  desc limit  1

select * from tab  order by period  desc limit  1
[/quote] 用排序的话只会对1-9进行排序,如果我有1-11期,排第一个就是9了
半坡人 2019-09-12
  • 打赏
  • 举报
回复
引用 1 楼 独木成林_的回复:


select top 1 * from tab  order by period  desc limit  1

mysql中貌似不能用top关键字,老哥
独木成林_ 2019-09-11
  • 打赏
  • 举报
回复
引用 1 楼 独木成林_ 的回复:


select * from tab  order by period  desc limit  1

select * from tab  order by period  desc limit  1
独木成林_ 2019-09-11
  • 打赏
  • 举报
回复


select top 1 * from tab  order by period  desc limit  1

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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