GROUP BYリストの列名と「WITHROLLUP」修飾子を使用して明示的な並べ替え順序(ASCまたはDESC)を使用すると、サマリー出力にどのような影響がありますか?
GROUP BYリストの列名と「WITHROLLUP」修飾子を使用して明示的な並べ替え順序(ASCまたはDESC)を使用する場合、ROLLUPによって追加された要約行は引き続き並べ替え順序に関係なく、計算元の行の後に表示されます。
デフォルトの並べ替え順序が昇順であることがわかっているため、以下の例では、明示的な並べ替え順序を使用しない場合、出力は次のようになります-
mysql> Select sr, SUM(Price) AS Price from ratelist Group by sr with rollup; +-----+-------+ | sr | Price | +-----+-------+ | 1 | 502 | | 2 | 630 | | 3 | 1005 | | 4 | 850 | | 5 | 250 | |NULL | 3237 | +-----+-------+ 6 rows in set (0.00 sec)
並べ替え順序をDESCとして定義した後、上記の同じクエリから次のように出力を取得します-
mysql> Select sr, SUM(Price) AS Price from ratelist Group by sr DESC with rollup; +-----+-------+ | sr | Price | +-----+-------+ | 5 | 250 | | 4 | 850 | | 3 | 1005 | | 2 | 630 | | 1 | 502 | |NULL | 3237 | +-----+-------+ 6 rows in set (0.00 sec)
出力から、ソート順が降順に変更されているにもかかわらず、要約行が計算元の行の後に表示されていることがわかります。
-
MySQLでASC順にレコードのリストのみを表示する
レコードのリストを特定の順序で表示するには、条件を設定してORDERBYを使用する必要があります。これには、ORDERBYCASEステートメントを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2039 -> ( -> Name varchar(20) -> ); Query OK, 0 rows affected (0.62 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert
-
明示的な実装とは何ですか?C#のインターフェイスでいつ使用するのですか?
クラスが同じ署名を持つメンバーを含む2つのインターフェースを実装する場合、そのメンバーをクラスに実装すると、両方のインターフェースがそのメンバーを実装として使用します。 インターフェイスメンバーを明示的に実装することは可能です。つまり、インターフェイスを介してのみ呼び出され、そのインターフェイスに固有のクラスメンバーを作成します。 例 interface ICar{ void display(); } interface IBike{ void display(); } class ShowRoom : ICar, IBike{