mysql max as_mysql使用max函数+将类似123的字符型数据转换成数据类型
一 獲取每天用戶數最多的時段
從最多一詞可以看出,我們如要去除用戶數最多的時段,需要使用max()函數了,
數據表result中個字段為:stat_day,usernum,stat_hour,部分數據如下所示
stat_day usernum stat_hour
20181210 190 2018121000
20181210 112 2018121001
20181210 71 2018121002
......
20181211 118 2018121101
......
20181212 1110 2018121022
...
20181213 448 2018121023
...
20181214 210 2018121100
...
取值sql如下:
select stat_day,usernum ,stat_hour
from result t1
where usernum = (select max(usernum) from result as t2
where t1.stat_day = t2.stat_day)
發現結果如數據不符,究其原因是userum數據導入數據庫的時候有數據庫自動創建的字段,為字符類型,若要按照數據類型進行排序則需要首先將數據庫的usernum字段修改為數值類型
數據類型轉換(字符型-數值類型)
轉換方式有以下三種
方法一:SELECT CAST('12345' AS SIGNED);
方法二:SELECT CONVERT('12345',SIGNED);
方法三:SELECT '12345'+0;
修改后的查詢sql如下:
select stat_day,CAST(usernum AS SIGNED),stat_hour
from result t1
where CAST(usernum AS SIGNED) = (select max(CAST(usernum AS SIGNED)) from result as t2
where t1.stat_day = t2.stat_day)
此時結果已經正常輸出
總結
以上是生活随笔為你收集整理的mysql max as_mysql使用max函数+将类似123的字符型数据转换成数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python时间格式_python 格式
- 下一篇: SQLyog客户端使用教程