2017-01-24 5 views
1

私は非常にSQLとデータベースです。 は、このクエリに出くわした:私は私が40を得ることにより、1つのレコードのみが、グループとを取得することで、グループを除外すると質問ごとにグループを説明する

SELECT cast(min(dt_from) as varchar(12))+cast(max(dt_to) as varchar (12)) 
FROM view1 
GROUP BY dt_from, dt_to 

、誰かがこの背後にあるロジックを説明していただけますか?

ありがとうございました。

答えて

2

dt_fromとdt_toの40種類の組み合わせがあります。これらの組み合わせのそれぞれを表示するために固有のものとして扱うようにSQLに指示しています。

+1

これは意味があります、ありがとうございます! – puzeledbysql

+0

問題ありません。自由に回答として受け入れることができます。 – Forklift

+1

逆に、group byがなければ、最小dt_fromと最大dt_toを見つけ出し、それらを組み合わせるだけだから、1行が得られます。そして、あなたは1列を取得します。 GroupByは、dt_fromとdt_toの一意の組み合わせごとに1行を取得することを意味します。 – pmbAustin