sql 查询结果中如何自定义属性列?

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:07:35
比如我要查询一个表:select top 50 [id],[key],自定义属性列 from keywords Order by id desc
我想让查询的结果中,自定义的属性列只显示1-8的值,例如,第一行:自定义属性列为1;第八行为:8;第九行为1;请高人赐教,在线等,且立即送分!
我要的结果是查询后的属性列为1-8.而不是原数据库中定义的一个列!

数据库没有“第几行”的概念。所以没法直接按楼主说的“第一行:自定义属性列为1;第八行为:8;第九行为1;”
比较折中的方法是通过id列来生成自定义属性列,前提是id列是自增的。
select top 50 [id],[key],id % 8+1 as 自定义属性列 from keywords Order by id desc

SELECT TOP 50 CONVERT(ID) AS ID,[KEY],IDENTITY(INT,1,1) AS 自定义属性列
INTO #TEMP
FROM KEYWORDS ORDER BY ID DESC

SELECT ID,(自定义属性列-1)%8+1 AS 自定义属性列 FROM #TEMP

DROP TABLE #TEMP

比较麻烦,必须通过存储过程加循环和临时表来做。。
我建议你换个思考方式,这样不好。

select top 50 [id] as 1,[key] as 2,........from keywords Order by id desc

自定义属性列改为数字型,在数据库中把它改为1-8的数字不就可以了/