Reference Guide > TDV SQL Keywords and Syntax > GROUP BY
 
GROUP BY
GROUP BYは、1つ以上のテーブルから複数の列が選択され、少なくとも1つの集計関数がSELECTステートメントに表示される場合に使用されます。その場合、集計関数で操作される列を除いて、選択したすべての列をGROUPBYする必要があります。
すべてのデータタイプ(BLOB、CLOB、およびXMLを含む)は、GROUPBYでサポートされています。
構文
SELECT column1, ... column_n, aggregate_function (expression)
FROM table
GROUP BY column1, ... column_n;
例(複数の内部結合を使用したGROUP BY)
SELECT orderdetails.Status, count (orderdetails.Status) as Item_Count
FROM /shared/examples/ds_orders/orderdetails Orderdetails
INNER JOIN /shared/examples/ds_inventory/products Products
ON orderdetails.ProductID = products.ProductID
INNER JOIN /shared/examples/ds_orders/orders Orders
ON orders.OrderID = orderdetails.OrderID
GROUP BY orderdetails.Status
例(順序位置で指定された列を持つGROUP BY)
グループ化に使用される列は、SELECTが発生した順序位置を表す整数で定義できます。テーブルのすべての列が選択されている場合(SELECT *)、テーブル内の列の位置(整数で表される)を使用できます。
SELECT ProductId, UnitsSold, UnitPrice
FROM /shared/examples/ds_inventory/inventorytransactions InventoryTransactions
GROUP BY 2 DESC, 1, 3
 
このサンプルクエリは、inventorytransactionsテーブルからProductId、UnitsSold、およびUnitPriceの3つの列を選択し、最初にUnitsSold(降順)、次にProductId(昇順)、次にUnitPrice(昇順)で結果をグループ化します。