sql - 如何在sql中获取固定数量的行

标签 sql sql-server

如果我在这样的数据库中有 4 行。

 |____A____|____B_____|
 |   a1    |    b1    |
 |   a2    |    b2    |
 |   a3    |    b3    |
 |   a4    |    b4    |

但我需要通过添加 NO 列来显示 10 行,以获取每一行的序列号,就像这些

 __NO__|____A____|____B_____|
   1   |   a1    |    b1    |
   2   |   a2    |    b2    |
   3   |   a3    |    b3    |
   4   |   a4    |    b4    |
   5   |         |          |
   6   |         |          |
   7   |         |          |
   8   |         |          |
   9   |         |          |
  10   |         |          |

sql server如何查询?

最佳答案

在这里提琴:http://sqlfiddle.com/#!3/9a9dd/1

WITH CTE1
AS
(
    SELECT 1 AS [NO]
    UNION ALL
    SELECT [NO]+1 FROM CTE1 WHERE [NO]<10
),
CTE2 AS
(
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS RN, A,B 
FROM  YOURTABLE
)

SELECT C1.[NO],A,B
FROM CTE1 C1 LEFT JOIN CTE2 C2 ON C1.[NO] = C2.RN

关于sql - 如何在sql中获取固定数量的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32858950/

相关文章:

java - Java 中非常奇怪的 PreparedStatement?

sql-server - SQL Server 后端缺少 MS Access 数据库复选框列表过滤器

sql-server - 从日期时间转换为 INT

sql - SQL Server 计数内的 DISTINCT

sql - 内部函数查询不使用索引

c# - 数据库模型到面向对象设计?

C#静态方法问题

sql-server - SQL Server 2008 中的 CSV 导入

java - org.flywaydb.core.api.FlywayException : Unable to instantiate JDBC driver when my java class is triggered from ant taskdef

sql - 类似行的 T-SQL 求和值