Assuming that data can be sorted on yours Column, a plan should generate row numberfor each row and make group byto get your data points.
SQL Server 2000
DECLARE @YourTable TABLE (Col VARCHAR(1))
CREATE TABLE
SET IDENTITY_INSERT
INSERT INTO @YourTable (Col) VALUES ('A')
INSERT INTO @YourTable (Col) VALUES ('A')
INSERT INTO @YourTable (Col) VALUES ('A')
INSERT INTO @YourTable (Col) VALUES ('B')
INSERT INTO @YourTable (Col) VALUES ('B')
INSERT INTO @YourTable (Col) VALUES ('B')
INSERT INTO @YourTable (Col) VALUES ('B')
INSERT INTO @YourTable (Col) VALUES ('C')
INSERT INTO @YourTable (Col) VALUES ('D')
INSERT INTO @YourTable (Col) VALUES ('D')
INSERT INTO @YourTable (Col) VALUES ('E')
INSERT INTO
SELECT *
FROM @YourTable
ORDER BY Col
SELECT MAX(ID)
FROM
GROUP BY Col
DROP TABLE
SQL Server 2005
DECLARE @Table TABLE (Col VARCHAR(1))
INSERT INTO @Table VALUES ('A')
INSERT INTO @Table VALUES ('A')
INSERT INTO @Table VALUES ('A')
INSERT INTO @Table VALUES ('B')
INSERT INTO @Table VALUES ('B')
INSERT INTO @Table VALUES ('B')
INSERT INTO @Table VALUES ('B')
INSERT INTO @Table VALUES ('C')
INSERT INTO @Table VALUES ('D')
INSERT INTO @Table VALUES ('D')
INSERT INTO @Table VALUES ('E')
SELECT MAX(RowNumber)
FROM (SELECT RowNumber = ROW_NUMBER() OVER (ORDER BY Col), Col
FROM @Table) t
GROUP BY Col
source
share