ホームページ >PHPフレームワーク >ThinkPHP >thinkphpのSum関数の基本的な使い方と例をまとめます。
開発プロセス中、特定のデータ フィールドの合計を数えるなど、データに対して合計演算を実行する必要があることがよくあります。 ThinkPHP では、Sum 関数を使用すると、この操作を簡単に実装できます。この記事では、ThinkPHP の Sum 関数の基本的な使い方と例を紹介します。
ThinkPHP の Sum 関数の基本構文は次のとおりです:
$sum = Db::name('table')->where($where)->sum('field');
そのうちの Db::name ('table')
はデータ テーブル操作オブジェクトのインスタンス化を表します。$where
はクエリ条件を表し、'field'
は合計する必要があるデータ テーブル フィールドを表します。上記のステートメントを実行すると、$sum が必要な合計になります。
フィールド id とスコアを含むユーザー テーブル user があるとします。次に、ユーザーの合計スコアをカウントする必要があります。次に、次のコードを使用してこれを実現します。
$sum = Db::name('user')->sum('score');
上記のコードでは、Db::name('user')->sum('score')
を直接呼び出します。フィールドの合計スコアを取得します。一部のデータをフィルターする必要がある場合は、次のような where ステートメントを追加できます。
$sum = Db::name('user')->where('score>60')->sum('score');
上記のコードは、スコアが 60 を超えるユーザーの合計スコアのみがカウントされることを意味します。
単一テーブルのクエリに加えて、Sum 関数を join() 関数と組み合わせて、次のような複数のテーブルをクエリすることもできます。
$sum = Db::name('user') ->alias('u') ->join('order o', 'u.id = o.user_id') ->where('o.create_time', '>=', '2021-01-01') ->sum('o.price');
上記のコードは、合計金額のクエリを示しています。 2021 年以降にユーザーが行った注文の割合。このうち、ユーザーと注文テーブルは join()
関数によって関連付けられ、注文テーブルの金額フィールド price
に基づいて合計演算が実行されます。
データベースのフィールド型が浮動小数点の場合、集計結果に誤差が生じることに注意してください。次のように、round 関数を使用して修正できます。
$sum = round(Db::name('user')->sum('score'),2);
上記のコードは、小数点以下 2 桁を保持し、スコア フィールドの合計を四捨五入することを意味します。
概要
この記事では、ThinkPHP の Sum 関数の基本的な構文と使用例について学びました。プロジェクト開発中にデータの合計統計を実行する必要がある場合、Sum 関数を使用して簡単に実装できます。
以上がthinkphpのSum関数の基本的な使い方と例をまとめます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。