1. 要件:
テーブル構造は次のとおりです。
ある年の各月において、1月から当月までの累計金額をカウントする必要があります(
例:
2月→50、
3月→50+50=100、
2月→50+50+23=123、2月→50+50+23=123)。
アイデア: 直接グループ化した場合、並べ替えられた累計は、yyyy 年 MM 月形式や yyyy-MM 形式ではなく、yyyy 年 M 月形式の文字列であるため、計算できません。
最初に month フィールドをインターセプトして月を取得し、インターセプトした月を int 型に変更し、グループ化してソートを蓄積します。SQL コードは次のとおりです
。
または、日付を MM 形式で yyyy 年として追加できます
mysql文字列フィールドのインターセプト
mysql の文字列インターセプト関数: left()、right()、substring()、substring_index()。Mid()、substr()もあります。このうち、mid() と substr() は substring() 関数に相当し、substring() の関数は非常に強力かつ柔軟です。
-
文字列インターセプト: left(str, length)
-
文字列インターセプト: substring(str, length)
2.1 substring(str, length) は、文字列の length 文字位置から始まり、最後までです。
2.2 substring(str, pos, len) は、文字列の長さの文字位置から始まる len 文字を受け取ります。
2.3 substring(str, pos, len) pos は、文字列の 4 番目の文字位置 (逆数) から始まる負の数にすることができます。終わりまで。
- 文字列インターセプト: substring_index(str,delim,count) は、先頭から count 番目の区切り文字までインターセプトします。count が負の場合、逆数から count 番目の区切り文字までインターセプトします。
参考:https://www.cnblogs.com/wjm956/p/7724244.html
ビルドコンバージョンタイプ
mysql は、CAST と CONVERT という 2 つの型変換関数を提供します。
例えば:
参考: https://blog.csdn.net/dataijidexiaozi/article/details/103340117