mysql sql语句

q727455218 2017-05-19 05:23:25

求写sql语句
...全文
364 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
q727455218 2017-05-22
  • 打赏
  • 举报
回复
有QQ 没加个 可以详细聊下
q727455218 2017-05-22
  • 打赏
  • 举报
回复
MIN(id) 不能根据ID来
RINK_1 2017-05-22
  • 打赏
  • 举报
回复
mysql的是这个 SELECT * FROM #T WHERE QUALITY>a ORDER BY QUALITY limit 0,1
RINK_1 2017-05-22
  • 打赏
  • 举报
回复
SELECT TOP 1 * FROM table WHERE QUALITY>a ORDER BY QUALITY
二月十六 2017-05-22
  • 打赏
  • 举报
回复
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T(id INT ,[quality] int,[grade] nvarchar(21))
Insert #T
select 4,5,N'A'union all
select 5,10,N'B' union all
select 6,101,N'D'

Go
--测试数据结束
DECLARE @a INT = 7
SELECT DISTINCT
grade
FROM ( SELECT CASE WHEN @a <= a.quality
AND a.id = ( SELECT MIN(id)
FROM #T
) THEN a.grade
WHEN @a >= a.quality
AND @a <= b.quality THEN b.grade
WHEN b.quality IS NULL
AND @a >= a.quality THEN a.grade
ELSE NULL
END AS grade
FROM #T a
LEFT JOIN #T b ON a.id + 1 = b.id
) t
WHERE grade IS NOT NULL;


q727455218 2017-05-22
  • 打赏
  • 举报
回复
二月十六 2017-05-19
  • 打赏
  • 举报
回复
用mssql写了一个例子,楼主看一下差不多嘛
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T(id INT ,[quality] int,[grade] nvarchar(21))
Insert #T
select 4,5,N'A'union all
select 5,10,N'B' union all
select 6,101,N'D'

Go
--测试数据结束
DECLARE @a INT = 88
SELECT DISTINCT
grade
FROM ( SELECT CASE WHEN @a <= a.quality THEN a.grade
WHEN @a >= a.quality
AND @a <= b.quality THEN b.grade
WHEN b.quality IS NULL
AND @a >= a.quality THEN a.grade
ELSE NULL
END AS grade
FROM #T a
LEFT JOIN #T b ON a.id + 1 = b.id
) t
WHERE grade IS NOT NULL;



q727455218 2017-05-19
  • 打赏
  • 举报
回复
能写个例子出来么 ? 谢谢
二月十六 2017-05-19
  • 打赏
  • 举报
回复
用case when 做判断实现

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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