我有這樣的表如何基於表創建範圍表值
表A
ID Value 1 125 2 400 3 99 4 130 5 300 6 350 7 399 .. ..
欲下面表作爲輸出,其中範圍斷設定(100)是預先定義的。範圍值100 = 0-100之間TableA的價值,200的意思101-200
ResultTable
Range Count 100 1 200 2 300 1 400 3 .. ..
什麼是做任何的想法建議的最佳方式。
我有這樣的表如何基於表創建範圍表值
表A
ID Value 1 125 2 400 3 99 4 130 5 300 6 350 7 399 .. ..
欲下面表作爲輸出,其中範圍斷設定(100)是預先定義的。範圍值100 = 0-100之間TableA的價值,200的意思101-200
ResultTable
Range Count 100 1 200 2 300 1 400 3 .. ..
什麼是做任何的想法建議的最佳方式。
取決於RDMS您使用,語法會有點不同(例如是Oracle),但總的想法是
CREATE TABLE new_table AS
SELECT CAST(value/100 as INT)*100 as range, count(*) as cnt
GROUP BY CAST(value/100 as INT)*100
FROM old_table;
a1ex07快一分鐘。這是它的SQL服務器版本。 http://sqlfiddle.com/#!3/4cfbd/11 –
在這兩種解決方案中,如果沒有任何值存在於任何範圍內,那麼不會有該範圍內的任何條目,但我想要0代替。 – user781700
然後您需要創建一個新的(臨時)表格或內嵌視圖,其中包含您感興趣的所有範圍...... – a1ex07
你的第二個表中有300計數1,但表A有300和350.不應該數2?還是我誤解你在問什麼? – Joe
300表示201到300之間的值,所以它只包含300,350將在301到400範圍內。 – user781700