我有一个查询,它从表中选择一些要显示的字段
SELECT Field1, Field2, Field3, Field4 FROM table1
我想要而不是返回:
alt text http://img186.imageshack.us/img186/3455/87921605.png
返回:
alt text http://img227.imageshack.us/img227/3921/85722509.png
如何修改 SQL 语句以返回第二个数字? 或者至少如何更改 .Net 的 gridview 属性来做到这一点(如果可能的话)?
最佳答案
您可以使用公用表表达式 (WITH
)、自联接以及 ROW_NUMBER
和 NULLIF
函数来完成此操作。
WITH t AS (SELECT *, ROW_NUMBER() OVER (ORDER BY Field1) rownum FROM table1)
SELECT NULLIF(curr.Field1, prev.Field1) Field1,
NULLIF(curr.Field2, prev.Field2) Field2,
NULLIF(curr.Field3, prev.Field3) Field3
FROM t curr
LEFT OUTER JOIN t prev ON prev.rownum = curr.rownum - 1
关于sql - 如何返回重复值的空单元格并仅保留不同的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2744064/