Solved

using ntile for grouping

Posted on 2007-12-04
4
638 Views
Last Modified: 2008-02-01
I need to retrieve only one row from the dataset above since it is the same address location except for device_location, service_apt. I don't care which device_location i get., I just need one record.

I tried to get this using NTILE but not luck. I don't want to use any temp tables or any kind of data massaging and I want to get this in one sql statement.

SELECT device_location,service_house_number, service_street
    ,NTILE(1) OVER(PARTITION BY service_house_number, service_street ORDER BY service_house_number ) AS 'Address'
from DeviceLocationCURRENT
 

device_location                service_house_number service_street    service_apt

------------------------------ -------------------- -----------------------------

1543785                        1550                 IRON POINT RD     3324

2390370                        1550                 IRON POINT RD     2821

1545917                        1550                 IRON POINT RD     322

1543769                        1550                 IRON POINT RD     2312

1546597                        1550                 IRON POINT RD     611

1545483                        1550                 IRON POINT RD     2111

2390536                        1550                 IRON POINT RD     2622

1543770                        1550                 IRON POINT RD     2313

1543762                        1550                 IRON POINT RD     2213

1544113                        1550                 IRON POINT RD     1711

1546635                        1550                 IRON POINT RD     1013

1546668                        1550                 IRON POINT RD     412

1546618                        1550                 IRON POINT RD     824

2391609                        1550                 IRON POINT RD     1322

1546677                        1550                 IRON POINT RD     511

1543236                        1550                 IRON POINT RD     111

Open in new window

0
Comment
Question by:LegalZoomer
  • 2
4 Comments
 
LVL 25

Expert Comment

by:imitchie
ID: 20408232
SELECT device_location,service_house_number, service_street
    ,row_number() OVER(PARTITION BY service_house_number, service_street ORDER BY service_house_number ) AS Address
from DeviceLocationCURRENT
where Address = 1
0
 
LVL 25

Accepted Solution

by:
imitchie earned 500 total points
ID: 20408285
missed a subselect

SELECT * FROM (
SELECT device_location,service_house_number, service_street
    ,row_number() OVER(PARTITION BY service_house_number, service_street ORDER BY service_house_number ) AS Address
from DeviceLocationCURRENT) X
where Address = 1
0
 
LVL 11

Expert Comment

by:yuching
ID: 20409124
Group by also can do the trick.

SELECT service_house_number, service_street,
      MAX(service_apt) AS service_apt, MAX(device_location) AS device_location
FROM DeviceLocationCURRENT
GROUP BY service_house_number, service_street
0
 
LVL 18

Expert Comment

by:Yveau
ID: 20409176
... how about:

Hope this helps ...

SELECT  Top 1 device_location,service_house_number, service_street

from    DeviceLocationCURRENT
 

--

Open in new window

0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction SQL Server Integration Services can read XML files, that’s known by every BI developer.  (If you didn’t, don’t worry, I’m aiming this article at newcomers as well.) But how far can you go?  When does the XML Source component become …
Use this article to create a batch file to backup a Microsoft SQL Server database to a Windows folder.  The folder can be on the local hard drive or on a network share.  This batch file will query the SQL server to get the current date & time and wi…
Via a live example, show how to extract information from SQL Server on Database, Connection and Server properties
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now