2014-04-16 4 views
1

시스템 라이센스 목록, 각 시스템에 대한 여러 라이센스 (만료 된 테이블 및 기존 테이블)가 있습니다. 나는 유일한 질문이기 때문에이 질문에 두 개의 기둥을 게시했습니다. ,고유 한 열 값당 하나의 레코드 가져 오기

| id | systemid | 
| 1 |  1 | 
| 2 |  1 | 
| 3 |  2 | 
| 4 |  2 | 
| 5 |  3 | 
| 6 |  3 | 

는 I 2, 4 및 6 I 각 SYSTEMID 1 개 레코드를 수집해야

의 ID와 행을 얻을 필요가 있으며 초기 (막내) 기록되어야한다 그래서이 경우 가장 높은 ID를 가진 레코드. 나는 GROUP BY, ORDER BYLIMIT을 탐험했지만 나는 결과를 얻지 못하고있다. 하나의 열에있는 각 개별 값에 대해 하나의 레코드를 어떻게 수집하고 가장 높은 ID를 가진 레코드인지 확인하십시오.

나는이 잘못 알고 있지만 나는 현재에 출연하고있는 무슨이다 :이 SYSTEMID 당 가장 높은 ID를 사로 잡고

SELECT * FROM licences GROUP BY systemid ORDER BY id DESC LIMIT 1

+1

'select max (id), systemid에서 라이센스 그룹의 시스템 ID' 아마도? – Chrisky

+1

Chrisky에 얼룩이 있습니다. 대답으로 추가해야합니다 :) – Arbiter

+0

여기에있는 화살표는 클릭하지 않습니다 ... – Chrisky

답변

1

SELECT max(id), systemid FROM table GROUP BY systemid

참고하는 GROUP BY과 함께, 당신은 어느 GROUP BY 절에 있거나 최대, 최소, 합계 또는 평균과 같은 응집 기능에 싸여 있어야 선택 모든 열.

+0

이 작품은 고맙습니다! 나는'MAX (id) as id'를 사용하여 출력을 얻었습니다. 감사합니다. 2 분 안에 받아 들일 수있어. – Arbiter

1

.

SELECT MAX(id), systemid 
FROM ... 
GROUP BY systemid 
+0

이 작품은 고맙습니다 – Arbiter

관련 문제