1
我對SQL相當缺乏經驗,但我努力嘗試將我的代碼壓縮到一個查詢中,以便它更高效。下面是一個更復雜的問題,我有一個簡單的例子。我在創建摘要組和變量的語法方面遇到問題。在我的情況下,數據存放在幾個不同的表中,但連接對我來說不是問題,所以我只在這裏創建了一個表。SQL創建新變量
這是我擁有的數據:
Name Class Wk Score ExCred X
Joe A 1 35 ? 3
Hal A 1 50 5 4
Sal A 1 45 ? 3
Kim B 1 30 5 6
Cal B 1 40 ? 6
Joe A 2 50 ? 2
Hal A 2 40 ? 3
Sal A 2 40 ? 4
Kim B 2 40 5 5
Cal B 2 40 ? 4
我想創建看起來像這樣的表:
Class Wk Avg_Score Sum_X
A 1 45 10
B 1 37.5 12
A 2 43.3 9
B 2 42.5 9
因此,該數據是由類和周總結。 avg_score是每個學生總和的平均值,'score'和'ExCred'。 Sum_X只是每個類的X的總和。
我已經通過使用多個proc means語句在SAS SQL中取得了成功,但這很笨拙,似乎需要很長時間。必須有一個更優雅的方式來做到這一點。我知道這可能涉及集團的聲明.....幫助?
謝謝。 Pyll
由於我的數據是在多個表中,我不得不使用連接來創建一個表,比如在使用proc方法之前創建一個表,然後在之後實際加入更多的東西。這是一團糟。所以,現在我試圖在SQL(而不是SAS SQL)中完成它。上面的代碼沒有將缺少的值作爲零處理,這正是我想要的。 – pyll
我想我用「zeroifnull」函數對它進行了排序。 – pyll