|
1
19
如果您使用的是SQL Server,这应该可以工作
|
|
2
15
下面是一个mysql解决方案:
这是简洁的,但不需要在其他品牌的rdbms中工作。对于其他品牌,可能会有一个与品牌相关的解决方案。这就是为什么告诉我们你使用的品牌很重要。 正如@pax所评论的那样,独立于供应商是很好的,但是如果做不到这一点,那么充分利用您选择的数据库品牌也是很好的。 对上述问题的解释:
|
|
|
3
9
最好的解决办法是比尔·卡温提出的。我最近不得不在一个相对较大的resultset(1000行,12列,每列需要这种类型的“如果当前行上的值为空,则显示最后一个非空值”)中解决这个问题,并使用update方法,对之前运行的已知值(或带有top 1的子查询)使用top 1 select超慢。 我使用的是sql 2005,变量替换的语法与mysql略有不同:
如果“number”不为空,则第一个set语句将变量@n的值更新为当前行的“number”值(coalesce返回传递给它的第一个非空参数) 第二个set语句将“number”的实际列值更新为自身(如果不为空)或变量@n(始终包含遇到的最后一个非空值)。 这种方法的优点是不需要额外的资源来一遍又一遍地扫描临时表…@n的行内更新负责跟踪最后一个非空值。 我没有足够的代表投票支持他的回答,但应该有人支持。这是最优雅和最好的表演。 |
|
|
4
8
这是Oracle解决方案(10g或更高版本)。它使用解析函数
|
|
|
5
6
下面的脚本解决了这个问题,只使用普通的ansi sql。我测试了这个溶液 SQL2008 , SQLite3 和 Oracle11g .
|
|
|
6
4
我知道这是一个非常古老的论坛,但我在解决我的问题时遇到了这个问题:)刚刚意识到其他人对上述问题给出了一些复杂的解决方案。请看下面我的解决方案:
希望这可以帮助某人:) |
|
|
7
2
一般来说:
|
|
|
8
2
如果您正在寻找redshift的解决方案,这将适用于frame子句:
|
|
|
9
1
首先,你真的需要存储这些值吗?您可以使用执行此操作的视图:
如果你真的有
如果你不喜欢程序,当你可以避免它们时,你也可以使用类似的查询。
注意:代码必须在“sql server”上运行。 |
|
|
10
1
这是MS访问的解决方案。
示例表被调用
|
|
|
11
0
|
|
|
12
-3
试试这个:
|
|
|
saber · MySql查询没有结果 4 年前 |
|
pigfox · Mysql空表联接失败 8 年前 |
|
|
Jaa Zaib · 返回空值的大小写表达式 8 年前 |
|
|
Robert Vogelezang · 为什么null未写入输出窗口? 8 年前 |
|
|
l. schwarz · sql长度(null) 8 年前 |
|
|
ÇAÄrı Keskin · SQL-删除(消除)没有数据的列 8 年前 |
|
|
Dorkymon · 使用系统在输出处获取null。出来打印F 8 年前 |