我的团队负责人坚持要求在表格中添加天条目计数列并定期更新。像这样的东西
虽然我认为这不是正确的方法。我可以计算[使用Count(*)]记录显示日期,这很容易为什么我懒得添加它,使用更新命令知道以前的条目等。他告诉我们可以直接计数而不查询一堆记录的原因表现明智是快速的。你是怎么做到的?什么是正确的方法?
答案 0 :(得分:1)
如果我理解正确,您只需要row_number()
除以2:
select t.*,
(row_number() over (order by ??) ) / 2.0
from t;
??
适用于任何列指定所需表格的顺序。
答案 1 :(得分:1)
gremlin> traverseAndFilter = out().has('date',lte(1470787200L)).
......1> order().
......2> by('date',decr).limit(1);[]
gremlin> g.V().has('name','car').
......1> repeat(local(traverseAndFilter.clone()).out()).
......2> emit().
......3> local(local(traverseAndFilter.clone())).
......4> tree().by('name')
==>[car:[car revision 1:[front right door:[front right door revision 1:[]],engine:[engine revision 1:[]],front left door:[front left door revision 1:[]]]]]
为了获得更好的性能,请将指数添加到YourTable的COUNT_COLUMN列。
答案 2 :(得分:0)
嗨Fizan,
您可以使用功能实现此目的。您可以创建一个函数来获取结果值并在列中更新它。像这样 -
CREATE function Get_Value_ToBeUpdated
RETURN DECIMAL(10,2)
AS
BEGIN
DECLARE result decimal (10,2);
DECLARE previousValue decimal (10,2);
DECLARE totalCount int;
SELECT previousValue = SELECT MAX(columnName) FROM YourTable order by primaryColumn desc
SELECT totalCount = SELECT COUNT(1) FROM YourTable
SET result = ISNULL(previousValue,0) + ISNULL(totalCount,0)
RETURN result;
END
UPDATE YourTable SET COLUMNNAME = DBO.Get_Value_ToBeUpdated() WHERE Your condition
谢谢:)