GROUP BYおよびORDER BY句 - Teradata Database - Teradata Vantage NewSQL Engine - GROUP BYおよびORDER BY句。

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/fbo1512081269404.ditamap
dita:ditavalPath
ja-JP/fbo1512081269404.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

GROUP BY句は、問合わせ式の個々のSELECT文で使用できますが、そのSELECT文にだけ適用され、結果セットには適用されません。

ORDER BY句は、問合わせ式の最後のSELECT文にだけ使用することができ、結果セットの順序を指定します。

ORDER BY句には、数値リテラルだけを含めることができます。

例えば、結果セット内の最初の列で順序付けるには、ORDER BY 1と指定します。

集合演算子を含むビュー定義ではGROUP BYを使用できますが、ORDER BYは使用できません。集合演算子と共にビュー定義に適用されたSELECT文では、GROUP BYとORDER BYを使用できます。ビュー定義の中でのこれらの演算子の正しい使い方を、次の例に示します。

   REPLACE VIEW v AS 
   SELECT x1,y1 
   FROM table1 
   UNION
   SELECT x2,y2 
   FROM table2;
   
   SELECT * 
   FROM v 
   ORDER BY 1;
   
   SELECT SUM(x1), y1 
   FROM v 
   GROUP BY 2;

GROUP BY演算子をUNIONされたSELECTにそれぞれ適用することもできます。次の例は、その方法を示しています。

   REPLACE VIEW v(column_1,column_2) AS
   SELECT MIN(x1),y1 
   FROM table_1 
   GROUP BY 2 
   UNION ALL
   SELECT MIN(x2),y2 
   FROM table_2 
   GROUP BY 2 
   UNION ALL 
   SELECT x3,y3 FROM table_3;
   
   SELECT SUM(v.column_1) (NAMED sum_c1),column_2
   GROUP BY 2 
   ORDER BY 2;
   
   SELECT * 
   FROM table_1
   WHERE (x1,y1) IN
   (SELECT SUM(x2), y2 
   FROM table_2
   GROUP BY 2
   UNION
   SELECT SUM(x3), y3 
   FROM table_3
   GROUP BY 2
   );