SQL,按照输入的ID排序

有表如下iddatacontent1中国不重要2美国不重要3日本不重要4德国不重要5英国不重要6泰国不重要7印度不重要我输入的id是2,5,3,7要查出来的数据也按照我输... 有表如下
id data content
1 中国 不重要
2 美国 不重要
3 日本 不重要
4 德国 不重要
5 英国 不重要
6 泰国 不重要
7 印度 不重要
我输入的id是2,5,3,7
要查出来的数据也按照我输入的id来排序:得到如下结果
2 美国 不重要
5 英国 不重要
3 日本 不重要
7 印度 不重要
请个位大神看看是否能这样排序:实在不行就只有用程序排序了,不过会给服务器带来一定的压力。谢谢各位大神了。悬赏是我所有的积分了。。。。。。
展开
 我来答
langmandeai
推荐于2016-03-15
知道答主
回答量:14
采纳率:100%
帮助的人:4.7万
展开全部
这个简单啊,我也做过这样的要求,最后实现了,就是再增加一个字段(列),这个列是标识列(自动增加)的列。
具体做法是:增加列(不妨列名叫sequence),bigint,(是标识),标识增量 1,标识种子 1.
当你输入的id是 2,5,3,7,数据表中就按照你输入的顺序存。
查询时你就按这个sequence排序,也就是说结果按照你输入的id来排序的。

sequence id data content
1 2 美国 不重要
2 5 英国 不重要
3 3 日本 不重要
4 7 印度 不重要

CREATE TABLE country(
sequence bigint IDENTITY(1,1) NOT NULL,
id char(10) primary key,
data nvarchar(50),
content varchar(5000)
)
primary key是把id做成主键列,如果你不想把id做成主键,又不想有重复,就加上unique(唯一)。
select id,data,content from country where id in('2','5','3','7') order by sequence
查询时并不显示sequence列,不妨碍。这样查询的结果就是按照你输入的顺序来的。
成功!谢谢你的分!
追问
那不是每次都要改变字段,输入四哥就是4条SQL哦,这样对服务其的压力不是更大么?
还有sequence bigint IDENTITY(1,1) NOT NULL,
这句什么意思能说明一下么?我家里的电脑没有安装数据库,看不到效果。谢谢
九年づ约00bbc
2012-04-13 · TA获得超过185个赞
知道小有建树答主
回答量:400
采纳率:100%
帮助的人:253万
展开全部
看了几遍 没看明白这个要求是用在什么地方的~
追问
华为的扯蛋的功能,真是搞死人。在团队首页显示几个团队列表,顺序要按照后台输入的顺序排列。。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
micro0369
2012-04-12 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4236万
展开全部
你的输入值如何传给查询语句呢?

这个事不好做
追问
就是不好弄啊,只有用程序控制了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式