0

列から個別の値を選択しようとしていますが、選択した値に関連するすべての行を返します。擬似コードでは、次のようになります。

SELECT * 
FROM table
WHERE field is Distinct 

質問をグーグルで検索し、GROUP BY を使用してみましたが、クエリは実行されません。助けてくれてありがとう。

Microsoft SQL データベースを使用しています。

データは次のようになります。

CodeId   Code   CatalogType    CodeGroup  CodeText  CodeGroupText  CodeDesc  State_ID
-------  -----  -------------  ---------- --------  -------------- --------- ---------
1        AAAA    1             100         Plastic   Plastic Center  NULL      2
2        BBBB    1             100         Glass     Glass Center    NULL      2
3        CCCC    1             101         Steel     Steel Center    NULL      2

コードグループが異なるだけで、データが同じように見えるようにしたいだけです。

データは次のようになります。

CodeId   Code   CatalogType    CodeGroup  CodeText  CodeGroupText  CodeDesc  State_ID
-------  -----  -------------  ---------- --------  -------------- --------- ---------
1        AAAA    1             100         Plastic   Plastic Center  NULL      2
3        CCCC    1             101         Steel     Steel Center    NULL      2
4

4 に答える 4

3

ほとんどのデータベースでは、次のことができます。

select t.*
from (select t.*
             row_number() over (partition by field order by field) as seqnum
      from t
     ) t
where seqnum = 1
于 2013-07-02T19:51:30.933 に答える
0
SELECT field1,field2,max(field3),sum(field4)
FROM table
GROUP BY field1, field2

これにより、すべての個別のフィールド 1 とフィールド 2 が得られます。複数の field3 が存在する可能性があるため、field3 フィールドを (このグループ化で) 直接取得することはできません。

于 2013-07-02T19:52:51.757 に答える