| Author |
Topic |
|
grab
Starting Member
1 Post |
Posted - 2007-08-27 : 23:14:28
|
| my table is something likeID before after3 1 24 2 35 3 46 4 57 4 68 4 79 7 810 8 911 7 1012 7 11i want a result likeID before after3 1 24 2 35 3 48 4 712 7 11in words, i want unique max after for each of the unique before feildsany suggestion for the sql statement for this?thanksjjg |
|
|
Koji Matsumura
Posting Yak Master
141 Posts |
Posted - 2007-08-27 : 23:41:13
|
| Not sure why 10 8 9 is not in the result set.DECLARE @T TABLE (ID int, Before int, After int)INSERT INTO @T SELECT 3, 1, 2UNION SELECT 4, 2, 3UNION SELECT 5, 3, 4UNION SELECT 6, 4, 5UNION SELECT 7, 4, 6UNION SELECT 8, 4, 7UNION SELECT 9, 7, 8UNION SELECT 10, 8, 9UNION SELECT 11, 7, 10UNION SELECT 12, 7, 11SELECT A.ID, A.Before, A.AfterFROM @T AINNER JOIN(SELECT A.Before, After = MAX(A.After) FROM @T A GROUP BY A.Before) BON B.Before = A.Before AND B.After = A.AfterORDER BY A.ID |
 |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-08-28 : 01:06:03
|
[code]SELECT ID, Before, AfterFROM (SELECT ID, Before, After, ROW_NUMBER() OVER (PARTITION BY Before ORDER BY After DESC) AS RecID FROM @T) AS dWHERE RecID = 1[/code] E 12°55'05.25"N 56°04'39.16" |
 |
|
|
ranganath
Posting Yak Master
209 Posts |
Posted - 2007-08-28 : 01:06:46
|
| SELECT *FROM @T TWHERE ID IN (SELECT MAX(ID) FROM @T WHERE BEFORE = T.BEFORE)ORDER BY 1 |
 |
|
|
Koji Matsumura
Posting Yak Master
141 Posts |
Posted - 2007-08-28 : 04:03:12
|
quote: Originally posted by ranganath SELECT *FROM @T TWHERE ID IN (SELECT MAX(ID) FROM @T WHERE BEFORE = T.BEFORE)ORDER BY 1
MAX(ID)? |
 |
|
|
ranganath
Posting Yak Master
209 Posts |
Posted - 2007-08-29 : 01:17:28
|
| DECLARE @T TABLE (ID int, Before int, After int)INSERT INTO @T SELECT 3, 1, 2UNION SELECT 4, 2, 3UNION SELECT 5, 3, 4UNION SELECT 6, 4, 5UNION SELECT 7, 4, 6UNION SELECT 8, 4, 7UNION SELECT 9, 7, 8UNION SELECT 10, 8, 9UNION SELECT 11, 7, 10UNION SELECT 12, 7, 11 SELECT *FROM @T TWHERE ID IN (SELECT MAX(ID) FROM @T WHERE BEFORE = T.BEFORE)ORDER BY 1 |
 |
|
|
|
|
|