今天在處理股票數據的時候發現同一只股票的季頻數據存在相同日期的數據,所以需要通過delete+group來處理數據
1.在做多表查詢,或者查詢的時候產生新的表的時候會出現這個錯誤:Every derived table must have its own alias(每一個派生出來的表都必須有一個自己的別名)
當執行這條sql語句的時候就會出現Every derived table must have its own alias;
DELETE FROM `T_Security_MShare_StockHistoryAchieve`
WHERE ID in
(SELECT ID FROM
(SELECT ID FROM `T_Security_MShare_StockHistoryAchieve` where NVC_CODE='Y' GROUP BY DTM_INDEX_DATE))
2. 下面這條語句就會產生一張新的表,和前面的表stock聯合查詢,但是mysql要求每一個派生出來的表都必須有一個自己的別名,那我給派生表加上別名即可;
SELECT ID FROM `T_Security_MShare_StockHistoryAchieve` where NVC_CODE='Y' GROUP BY DTM_INDEX_DATE
eg:修改後的sql,直接在新生產的表中加入 他的別命名就行(“as a”或者“a”),“a”爲新表的別名
3.
DELETE FROM `T_Security_MShare_StockHistoryAchieve`
WHERE ID in
(SELECT ID FROM
(SELECT ID FROM `T_Security_MShare_StockHistoryAchieve` where NVC_CODE='Y' GROUP BY DTM_INDEX_DATE) As p)