取消
顯示的結果
而不是尋找
你的意思是:

為什麼CTE磚有問題嗎?

THIAM_HUATTAN
貢獻者三世

df = spark.createDataFrame(((2018年,“Apple1”, 45000),(2019年,“Apple1”, 35000),(2020年,“Apple1”, 75000年),

(2018年,“三星”,15000),(2019年,“三星”,20000),(2020年,“三星”,25000年),

(2018年,“諾基亞”,21000),(2019年,“諾基亞”,17000),(2020年,“諾基亞”,14000年),

“年”,“品牌”,“銷售”))

df.createOrReplaceTempView (“PhoneBrandSales”)

火花。sql (SELECT * FROM PhoneBrandSales),告訴()

%的sql

SELECT *,

鉛(銷售、1 0)

/(分區通過品牌訂單desc) PreviousYearSales

從PhoneBrandSales;

%的sql

- - -https://www.sqlservertutorial.net/sql-server-window-functions/sql-server-lag-function/

CTE作為

(

選擇*,

鉛(銷售、1 0)

(分區通過品牌訂單通過一年desc)作為PreviousYearSales

PhoneBrandSales;

)

選擇*CTE

拋出ParseException:

沒有可行的選擇輸入”與CTE \ n (\ n \ n SELECT *,鉛(銷售,1,0)\ n /(分區通過品牌訂單desc)從PhoneBrandSales PreviousYearSales \ n”(第6行,pos 22)

SQL = = = =

與CTE

(

SELECT *,

鉛(銷售、1 0)

/(分區通過品牌訂單desc) PreviousYearSales

從PhoneBrandSales

- - - - - - - - - - - - - - - - - - - - - - - ^ ^ ^

1接受解決方案

接受的解決方案

Varshith
新的貢獻者三世

問題來了,因為分號PhoneBrandSales旁邊。試著刪除;問題將被解決。請參考下麵的截圖。

請選擇這個答案是最好的答案是否解決了你的問題

謝謝,

Varshith

在原帖子查看解決方案

2回答2

Varshith
新的貢獻者三世

問題來了,因為分號PhoneBrandSales旁邊。試著刪除;問題將被解決。請參考下麵的截圖。

請選擇這個答案是最好的答案是否解決了你的問題

謝謝,

Varshith

奇妙的,它已經解決了,非常感謝及時回答。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map