下面是一个示例如何使用我可以从步骤1执行的简单MySQL查询 - >步骤4
第1步:原始表
object prob
dog
dog
cat
cat
book
book
第2步:计算对象
dog 2
cat 2
book 2
第3步:计算概率
dog 2/(2+2+2)
cat 2/(2+2+2)
book 2/(2+2+2)
步骤4:将概率值返回原始
Object prob
dog 2/6
dog 2/6
cat 2/6
cat 2/6
book 2/6
book 2/6
答案 0 :(得分:1)
你到底在问什么?
您想知道如何统计每个项目并插入每个项目的概率吗?
<强>更新强>
这段代码可以满足您的要求。只需将#temp替换为您自己的表。
DECLARE @object nvarchar(max)
DECLARE object_cursor CURSOR FOR
SELECT object
FROM #temp
OPEN object_cursor
FETCH NEXT FROM object_cursor
INTO @object
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE #temp
SET prob = (
SELECT
COUNT(object)
FROM #temp
WHERE object = @object
)
FETCH NEXT FROM object_cursor
INTO @object
END
CLOSE object_cursor
DEALLOCATE object_cursor
UPDATE #temp
SET prob = prob / (select SUM(prob) from #temp)