MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLによって返される結果セットのグループレベルでフィルタリング基準をどのように適用できますか?


SELECTステートメントのGROUPBY句は、MySQLによって返される結果セットをグループに分割できることがわかっています。ここで、特定のグループのみを返したい場合は、グループレベルでフィルタリング基準を適用する必要があります。これは、GROUPBY句内でHAVING句を使用して実行できます。以下の例はそれを示しています-

平均給与が55000のグループのみを返したい場合、HAVING句で次のようにフィルタリング基準を使用する必要があります-

mysql> Select count(*),AVG(salary),Designation from employees GROUP BY designation having AVG(salary) = 55000;

+----------+-------------+-------------+
| count(*) | AVG(salary) | Designation |
+----------+-------------+-------------+
| 2        | 55000.0000  | Asst.Prof   |
+----------+-------------+-------------+

1 row in set (0.00 sec)

  1. MySQLの結果セットを指定されたものと同じにする方法は?

    これには、MySQL FIND_IN_SET()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1563    -> (    -> StudentId int,    -> StudentName varchar(20)    -> ); Query OK, 0 rows affected (0.52 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into De

  2. MySQLでselectクエリによって取得された結果をどのように並べ替えることができますか?

    テーブルから特定のデータまたは行を選択するのが一般的です。行は、テーブルに表示される順序で返されます。テーブルから選択した行を、ある列に対して昇順または降順で返す必要がある場合があります。 「ORDERBY」ステートメントは、ある列に関して結果を並べ替えるために使用されます。次の例は、より明確になります。 「name」フィールドを含むさまざまなフィールドで構成されるテーブルがあるとします。テーブルからすべての行を選択しますが、行は名前のアルファベット順に並べる必要があります。ここで「ORDERBY」ステートメントが機能します。このシナリオでは、結果を「名前」フィールドの昇順で並べ替える必要