2014-05-02 35 views
-1

您好,我有我想要像3列我有一個問題在我的查詢得不到組記錄

ID  Grp  Name 
1   10  aa 
2   11  bb 
3   11  cc 
4   11  dd 
5   12  ee 
6   12  ff 

在GET查詢一個問題ANS是

ID Grp Name 
1  10 aa 
2  11 bb 
5  12 ee 

等什麼可以做的id?

+0

您正在使用哪種RDBMS? 'SQL Server'或'MySQL'? –

+1

什麼是'asp.net'在這裏做什麼? –

回答

2

在sql server中

試試這個!

select * from 
(
select *,rn=row_number()over(partition by Grp order by ID) from table 
)x 
where x.rn=1 
+1

謝謝我的查詢問題已解決 –

1

對於SQL服務器:

WITH CTE AS (SELECT *,RN=ROW_NUMBER() OVER(PARTITION BY Grp ORDER BY ID) 
      FROM TableName) 
SELECT ID,Grp,Name 
FROM CTE 
WHERE RN=1 

實施例SQL Fiddle

對於MySQL的:

SELECT ID,Grp,Name 
FROM 
(SELECT A.ID, A.Grp, A.Name, count(*) as row_number FROM TableName A 
JOIN TableName B ON A.Grp = B.Grp AND A.ID >= B.ID 
GROUP BY A.Grp, A.ID,A.Name) T 
WHERE row_number=1 

實施例SQL Fiddle

相關問題