単一のMySQLクエリでGROUPBY、HAVING、およびORDER BYを使用して、特定の範囲の合計を持つレコードを表示するにはどうすればよいですか?
まずテーブルを作成しましょう-
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(20), ProductPrice int ); Query OK, 0 rows affected (0.70 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable(CustomerName,ProductPrice) values('Chris',600); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable(CustomerName,ProductPrice) values('David',450); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable(CustomerName,ProductPrice) values('Chris',980); Query OK, 1 row affected (0.40 sec) mysql> insert into DemoTable(CustomerName,ProductPrice) values('Mike',1200); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable(CustomerName,ProductPrice) values('Chris',400); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable(CustomerName,ProductPrice) values('David',1200); Query OK, 1 row affected (0.20 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+----+--------------+--------------+ | Id | CustomerName | ProductPrice | +----+--------------+--------------+ | 1 | Chris | 600 | | 2 | David | 450 | | 3 | Chris | 980 | | 4 | Mike | 1200 | | 5 | Chris | 400 | | 6 | David | 1200 | +----+--------------+--------------+ 6 rows in set (0.00 sec)
以下は、特定の範囲の数値を表示するためのクエリです-
mysql> select CustomerName,sum(ProductPrice) AS Total_Price from DemoTable group by CustomerName having sum(ProductPrice) between 1600 and 2000 order by CustomerName DESC;
これにより、次の出力が生成されます-
+--------------+-------------+ | CustomerName | Total_Price | +--------------+-------------+ | David | 1650 | | Chris | 1980 | +--------------+-------------+ 2 rows in set (0.00 sec)
-
単一のフィールドで並べ替え、MySQLで残りのレコードを同じ順序で表示します
まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.82 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(201,'Chris Brown'); Query
-
AND&OR演算子を使用した単一のMySQLクエリを使用して特定のレコードをフェッチします
まずテーブルを作成しましょう- mysql> create table DemoTable2015 -> ( -> StudentId int, -> StudentName varchar(20), -> StudentCountryName varchar(20) -> ); Query OK, 0 rows affected (1.20 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> inse