ホームページ >PHPフレームワーク >ThinkPHP >thinkphpのSum関数の基本的な使い方と例をまとめます。

thinkphpのSum関数の基本的な使い方と例をまとめます。

PHPz
PHPzオリジナル
2023-04-07 09:02:492752ブラウズ

開発プロセス中、特定のデータ フィールドの合計を数えるなど、データに対して合計演算を実行する必要があることがよくあります。 ThinkPHP では、Sum 関数を使用すると、この操作を簡単に実装できます。この記事では、ThinkPHP の Sum 関数の基本的な使い方と例を紹介します。

  1. 基本構文

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。