首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除Server中的初始0条记录

问删除Server中的初始0条记录
EN

Stack Overflow用户
提问于 2018-05-26 13:12:41
回答 2查看 60关注 0票数 0

我在面试中有个问题。寻找解决方案

问题:我在Server中有一个表,其中有4列,其中前几条记录为0,它们所需的输出是删除前0条记录,而不是那些在某些自然数之后的0条记录。初始的0记录可以是动态的,我提到的是输入表和输出表。

表:

代码语言:javascript
复制
A   B   C   D
-------------
0   0   0   0
0   0   0   0
0   0   0   0
0   0   0   0
0   0   0   0
0   0   0   0
1   2   3   4
0   0   0   0
5   6   7   8
2   3   5   6
1   3   4   5

输出表:

代码语言:javascript
复制
A   B   C   D
-------------
1   2   3   4
0   0   0   0
5   6   7   8
2   3   5   6
1   3   4   5

有人能帮我得到这个输出吗?

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-26 13:26:46

我希望您希望从非零的所有列中获取第一次记录的位置。有个诡计。不推荐生产。

编辑(来自)如果表具有聚集索引,则解决方案将无法工作;如果数据库有多个文件,则可能无法工作。

代码语言:javascript
复制
CREATE TABLE test23
(
     A INT 
    ,B INT 
    ,C INT 
    ,D INT
)
GO

INSERT INTO test23 VALUES
(0,0,0,0),
(0,0,0,0),
(0,0,0,0),
(0,0,0,0),
(0,0,0,0),
(0,0,0,0),
(1,2,3,4),
(0,0,0,0),
(5,6,7,8),
(2,3,5,6),
(1,3,4,5)
GO

SELECT * 
       FROM
test23 
        WHERE  %%PhysLoc%% >= 
        (
            SELECT MIN(%%PhysLoc%%) FROM test23 WHERE a+b+c+d > 0
        )

输出

代码语言:javascript
复制
A           B           C           D
----------- ----------- ----------- -----------
1           2           3           4
0           0           0           0
5           6           7           8
2           3           5           6
1           3           4           5

(5 rows affected)
票数 0
EN

Stack Overflow用户

发布于 2018-05-26 13:21:53

假设您的表名为tableA,列名为A、B、C、D,则查询如下

代码语言:javascript
复制
SELECT DISTINCT A,B, C,D FROM tableA

请通过W3School阅读基本的SQL server,这将是有帮助的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50543140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档