SUM()関数内で条件式を使用する場合、MySQLはどのように評価しますか?
ご存知のとおり、SUM()関数内で条件式を使用すると、条件を満たす行数を取得できます。したがって、この場合、MySQLは条件が真になるたびに1と評価され、条件が偽になるたびに0と評価されます。
それを理解するために、次の詳細を含む次のテーブル「従業員」の例を検討してください-
mysql> Select * from Employee; +----+--------+--------+ | ID | Name | Salary | +----+--------+--------+ | 1 | Gaurav | 50000 | | 2 | Rahul | 20000 | | 3 | Advik | 25000 | | 4 | Aarav | 65000 | | 5 | Ram | 20000 | | 6 | Mohan | 30000 | | 7 | Aryan | NULL | | 8 | Vinay | NULL | +----+--------+--------+ 8 rows in set (0.00 sec)
ここで、給与が20000を超える行の総数を知りたい場合は、次のようにSUM()関数内で条件式を使用できると仮定します-
mysql> Select SUM(Salary>20000) from employee568; +-------------------+ | SUM(Salary>20000) | +-------------------+ | 4 | +-------------------+ 1 row in set (0.00 sec)
-
MySQL SELECTステートメントでCAST関数を使用するにはどうすればよいですか?
MySQLのCAST()関数は、任意のタイプの値を指定されたタイプの値に変換します。まずテーブルを作成しましょう- mysql> create table castFunctionDemo -> ( -> ShippingDate date -> ); Query OK, 0 rows affected (0.74 sec) 以下は、挿入コマンド-を使用してテーブルにいくつかのレコードを挿入するためのクエリです。 mysql> insert into castFunctionDemo
-
MySQL CASE式で「OR」条件を使用するにはどうすればよいですか?
MySQLCASE式に「OR」のような同じ条件を設定します。まず、サンプルテーブルを作成しましょう。 以下はクエリです mysql> create table caseOrConditionDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(100), -> Score int -> ); Query OK, 0 rows affect