1
私は> = 3つの異なる姓を持つ共通アドレスを選択するタスクを持っています。tsql集約フィールドの選択を最適化
私はちょうど私がそれを単一のステップで何とか行うことができると思い、他の解決策になるものを学びたい、いくつかのステップでこれをコード化され、私はSQL Server上だ2016
この最小/最大で動作します2+異なる名前のために、しかし、と私はより多くのロジックを行う必要3+私は
;WITH c AS
(
SELECT 'Dow' LName, 'John' Fname, '123 Main' addr
UNION
SELECT 'Alexander' LName, 'Mike' Fname, '123 Main' addr
UNION
SELECT 'Sam' LName, 'Kent' Fname, '123 Main' addr
UNION
SELECT 'Marth' LName, 'Rose' Fname,'123 Main' addr
UNION
SELECT 'Xavier' LName, 'Rob' Fname, '9000 Metaxa St' addr
UNION
SELECT 'Xavier' LName, 'Mary' Fname,'9000 Metaxa St' addr
UNION
SELECT '__Xavier' LName, 'Lucricia' Fname,'9000 Metaxa St' addr
UNION
SELECT 'Xclude' LName, 'John' Fname, 'Kirov 2 St' addr
)
, -- SELECT * FROM c
c2 AS
(
SELECT MIN(lname) nameMin, MAX(lname) nameMax, addr, COUNT(*) cc
FROM c
GROUP BY addr
)
SELECT *
FROM c2
WHERE nameMin <> nameMax AND cc >=3
Grz Alberto、もう1つ追加する必要があります。 –