相关疑难解决方法(0)

是否有一个重构SQL的工具,有点像ReSharper for SQL

我现在追求的那种东西是非常基本的:

  • 自动格式化
  • 检测未使用的变量
  • 变量命名约定检查

如果有一个工具可以处理更复杂的重构(例如重构数据库中的重构),我不会感到惊讶,但我很欣赏当前数据库结构和数据状态引入的额外复杂性可能会阻止其中的许多重构.

我想我是在追求ReSQLer

sql sql-server refactoring

38
推荐指数
4
解决办法
1万
查看次数

SQL - 在一个语句中使用查询结果作为另外两个查询的基础

我正在进行概率计算.我有一个查询来计算事件发生的总次数.从这些事件中,我想得到子事件发生的次数.获取总事件的查询长度为25行,我不想只复制+粘贴两次.

我想对此查询执行两项操作:计算其中的行数,并计算此查询的查询结果中的行数.现在,我能想到的唯一方法就是这样做(用复杂的查询替换@ total @来获取所有行,而@ conditions @用不太复杂的条件替换来自@ total @的行必须匹配子事件):

SELECT (SELECT COUNT(*) FROM (@total@) AS t1 WHERE @conditions@) AS suboccurs, 
       COUNT(*) AS totaloccurs FROM (@total@) as t2
Run Code Online (Sandbox Code Playgroud)

如你所知,@ total @重复两次.有没有办法解决?有没有更好的方法来做我想做的事情?

重新强调:@condition @取决于@otal @返回的内容(它确实如此t1.foo = bar).

最后的一些注意事项:@ total @本身需要~250ms.这个更复杂的查询需要大约300毫秒,因此postgres可能会进行一些优化.尽管如此,查询看起来非常难看,@ total @字面上粘贴了两次.

sql optimization nested count

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

sql ×2

count ×1

nested ×1

optimization ×1

refactoring ×1

sql-server ×1