group by 라는 것이 있습니다. column에서 값이 같은 것들끼리
묶어주는 기능입니다.
sql> select id,value from table_name group by value;
+------+-------+
| id | value |
+------+-------+
| 1 | 22 |
| 3 | 23 |
| 4 | 24 |
| 5 | 25 |
+------+-------+
같은 그룹에서 id가 제일 큰 넘을 대표로 뽑을려면,
sql> select id,value,max(id) from table_name group by value;
+------+-------+---------+
| id | value | max(id) |
+------+-------+---------+
| 1 | 22 | 2 |
| 3 | 23 | 3 |
| 4 | 24 | 4 |
| 5 | 25 | 5 |
+------+-------+---------+
max(id)라는 컬럼 이름이 마음에 들지 않는다면..
sql> select id,value,max(id) as val from table_name group by value;
+------+-------+------+
| id | value | val |
+------+-------+------+
| 1 | 22 | 2 |
| 3 | 23 | 3 |
| 4 | 24 | 4 |
| 5 | 25 | 5 |
+------+-------+------+
:
: 다음과 같은 테이블이 있습니다.
:
: id value
: 1 22
: 2 22
: 3 23
: 4 24
: 5 25
:
: 여기에서 id와 value을 뿌리고자하는데... 단, value값이 같을때는.. 가장
: 큰 id값만 선택하고자 합니다..
:
: 결과물은 다음과 같이 되겠죠...
:
: id value
: 2 22
: 3 23
: 4 24
: 5 25
:
: 이렇게 하려면 쿼리문을 어케 해야 하나여?
:
: 쿼리의 고수님들 부탁 드림다~~
:
: --
: 쿼리~~ 쿼리~~ @_@