執行一個sql語句,報錯:1248 - Every derived table must have its own alias
提示說每一個衍生出來的表,必須要有自己的別名
執行子查詢的時候,外層查詢會將內層的查詢當做一張表來處理,所以我們需要給內層的查詢加上別名
錯誤的:
select count(*) from( select FROM_UNIXTIME(`user_task`.`CREATE_TIMESTAMP`, "%Y-%m-%d") FROM r_user_task `user_task` LEFT JOIN e_task `task` ON `user_task`.`TASK_ID` = `task`.`ID` where `user_task`.`COMPLETE_STATUS` = "1" and `user_task`.`user_id` = 175286 group by FROM_UNIXTIME(`user_task`.`CREATE_TIMESTAMP`, "%Y-%m-%d") )
正確的sql,應該加上別名,如下:
select count(*) from( select FROM_UNIXTIME(`user_task`.`CREATE_TIMESTAMP`, "%Y-%m-%d") FROM r_user_task `user_task` LEFT JOIN e_task `task` ON `user_task`.`TASK_ID` = `task`.`ID` where `user_task`.`COMPLETE_STATUS` = "1" and `user_task`.`user_id` = 175286 group by FROM_UNIXTIME(`user_task`.`CREATE_TIMESTAMP`, "%Y-%m-%d") ) as t
參考:
https://blog.csdn.net/cao478208248/article/details/28122113