case排序法:
select * from userinfo where id='10' or id ='5' or id='8' order by case id when 10 then 1 when 5 then 2 when 8 then 3 end
还有EXEC法 可以网上查
SQLServer遍历数据库所有表及统计表数据总数:
DECLARE @TableName varchar(255); CREATE TABLE #GetRecordingTempTable([id] [INT] IDENTITY(1,1) NOT NULL, [TableName] varchar(255) NOT NULL, [RecordingCount] INT); DECLARE Table_Cursor CURSOR FOR SELECT [name] FROM sysobjects WHERE xtype='U'; OPEN Table_Cursor; FETCH NEXT FROM Table_Cursor INTO @TableName; WHILE(@@FETCH_STATUS=0) BEGIN EXEC('INSERT INTO #GetRecordingTempTable ([TableName],[RecordingCount]) SELECT '''+@TableName+''', COUNT(0) FROM ['+@TableName+'];'); FETCH NEXT FROM Table_Cursor INTO @TableName; END CLOSE Table_Cursor; DEALLOCATE Table_Cursor; SELECT [TableName] AS [表名称],[RecordingCount] AS [总记录数] FROM #GetRecordingTempTable ORDER BY [RecordingCount] DESC; DROP TABLE #GetRecordingTempTable; GO