最大の賛成値を持つMySQLcount()で値を取得するにはどうすればよいですか?
テーブルにいくつかの列があり、1つは画像パス用、もう1つは賛成票用であるとします。ただし、最初の列は、以下に示すように自動増分IDです-
mysql> create table DemoTable( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,ImagePath varchar(100),UpvoteValue int ); Query OK, 0 rows affected (0.72 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable(ImagePath,UpvoteValue) values('Image1.jpeg',90); Query OK, 1 row affected (0.23 sec) mysql> insert into DemoTable(ImagePath,UpvoteValue) values('Image2.jpeg',10); Query OK, 1 row affected (0.21 sec) mysql> insert into DemoTable(ImagePath,UpvoteValue) values('Image3.jpeg',120); Query OK, 1 row affected (0.25 sec) mysql> insert into DemoTable(ImagePath,UpvoteValue) values('Image4.jpeg',114); Query OK, 1 row affected (1.17 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+----+-------------+-------------+ | Id | ImagePath | UpvoteValue | +----+-------------+-------------+ | 1 | Image1.jpeg | 90 | | 2 | Image2.jpeg | 10 | | 3 | Image3.jpeg | 120 | | 4 | Image4.jpeg | 114 | +----+-------------+-------------+ 4 rows in set (0.00 sec)
これは、最大賛成値-
を持つcount()を使用してimagepath値を取得するためのクエリです。mysql> select ImagePath from DemoTable where UpvoteValue IN (select max(UpvoteValue) from DemoTable);
これにより、次の出力が生成されます>
+-------------+ | ImagePath | +-------------+ | Image3.jpeg | +-------------+ 1 row in set (0.00 sec)
-
MySQLクエリでCASE条件でカウントを使用するにはどうすればよいですか?
MySQLでこれにCASEWHENを使用し、COUNT()メソッド内でCASE条件を設定してカウントします。まずテーブルを作成しましょう- mysql> create table DemoTable1374 -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(20), -> Score int -> ); Query OK, 0 rows affe
-
MySQLで特定の値を持つ列の数を数える方法は?
以下は構文です- select sum(yourColumnName1+yourColumnName2+yourColumnName3...N) as `anyAliasName1`, sum(yourColumnName1 and yourColumnName2 and yourColumnName3….N) as anyAliasName from yourTableName; テーブルを作成しましょう- mysql> create table demo36 −> ( −> id int not null auto_incremen