0

サンプル例:

SELECT 
   Equip.name, equip.type, region.regionname, region.equipfk 
FROM 
   Equip 
INNER JOIN 
   region on Equip.equippk = region.equipfk   
GROUP BY 
   Equip.Name, region.equipfk                  

期待される出力:

name    type       regionname    equipfk 
----------------------------------------
TCT     Steel      detroit       8235
TCT     steel      detroit       8235
GTH     COPPER     michigan      8569
GCT     COPPER     michigan      8569

10列を含むテーブルがあります。group by 句を使用して、いくつかの ID で各行をグループ化したい。選択クエリで集計関数を使用したくありません。group by 句を使用し、選択クエリで集計関数を回避する別の方法はありますか..

前もって感謝します。

4

1 に答える 1

0

行をソートGROUP BYしようとして使用しているように聞こえます(これは、保証されていない偶然の副作用によってのみ行われます)。その場合は、代わりに次のものが必要です。ORDER BY

SELECT 
   Equip.name, equip.type, region.regionname, region.equipfk 
FROM 
   Equip 
INNER JOIN 
   region on Equip.equippk = region.equipfk   
ORDER BY 
   Equip.Name, region.equipfk   

との両方GROUP BYで、ソートされているように見える出力DISTINCT が生成される場合がありますが、これは実装方法の副作用にすぎず、多くのこと (サーバーの負荷、サーバー構成、ホット フィックス、サービス パック、メジャー アップグレード) によって、行が返される順序-句もある場合を除きます。ORDER BY

于 2013-07-23T09:28:14.373 に答える