對於用戶日誌表我有一個SQL數據庫,我跟蹤報告請求的一些參數。該報告允許將多個ID傳遞給它,並將所有這些ID存儲在數據庫列中的單個列中。如果這是一個規範化的數據集,肯定會有一個額外的表設置爲此,但這是什麼被繼承...如何計算一個字符在SQL列中出現的次數?
我現在被要求快速計數的數量一次報告運行超過2個ID傳遞給它。我可以很容易地獲得所請求的記錄數超過1個的記錄數,因爲它們都包含逗號。
接下來我需要做的是計算逗號出現在列中的次數。你如何在SQL中做到這一點?
--count the number of times more than 1 report was requested in the record
select
count(*) as cnt
from
[table]
where
RequestedReportParams Like '%,%'
我在回答中大膽你的問題,而不是也許你實際中林芽依聚焦解決你的實際目標。在這種情況下,mherren的答案可能更合適。 – AdaTheDev 2009-07-17 16:02:50
在`REPLACE`周圍添加`LEN`,因爲`REPLACE`返回一個字符串,而不是int,這意味着您的數學運算不起作用。雖然! – Eric 2009-07-17 16:03:45