SELECT Id, Type, ItemId, convert(count(*) , SIGNED) AS num FROM pointList GROUP BY Id,Type,ItemId;
這樣回傳的num欄位 怎么還是count函式回傳的long型別 而不是轉換后的int型別呢
我換成cast 替換 convert
SELECT Id, Type, ItemId, CAST(count(*) AS SIGNED) AS num FROM pointList GROUP BY Id,Type,ItemId;
結果還long型別 而不是num型別
求各位大哥看看怎么寫sql 才能滿足 num是int型別的
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
牛逼 !!!!!!!!!uj5u.com熱心網友回復:
mysql中貌似沒有long型別。。。4個位元組內一般是int,4~8位元組一般是bigintuj5u.com熱心網友回復:
來自 MySQL 檔案的解釋:COUNT(expr) [over_clause]
Returns a count of the number of non-NULL values of expr in the rows retrieved by a SELECT statement. The result is a BIGINT value.
https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html#function_count
uj5u.com熱心網友回復:
這樣改,不確定一定可以,但是可以試試看。另外想確認一下,這個欄位的型別,您是在哪看到的,應該不是SQL里吧,其它的語言,比如JAVA,型別可能和SQL有差異。
SELECT Id, Type, ItemId, count(*) + 0 AS num FROM pointList GROUP BY Id,Type,ItemId;
uj5u.com熱心網友回復:
發現資料庫的回傳都是string ,不是二進制.轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/46835.html
標籤:MySQL
下一篇:MySQL索引-B+樹
