2014-02-05 2 views
0

더 많은 추상적 인 질문입니다. 예를 들어, 테이블반복되는 값의 서수 위치

| 동물 |

| 고양이 |

| 개 |

| 개 |

| 고양이 |

| 고양이 |

| 개 |

내가 검색하고자하는 것은

| 동물 | pos |

| 고양이 | 1 |

| 개 | 1 |

| 개 | 2 |

| 고양이 | 2 |

| 고양이 | 3 |

| 개 | 3 |

물론 동물은 고양이와 개로 국한되지 않으며 반복이 더 커질 수 있습니다.

어디서 봐야 할 방향에 대해 매우 높이 평가할 것입니다!

+0

초록 PK 무엇입니까? – Strawberry

답변

0

이 시도 :

select animal, 
case animal 
     when 'cat' then @cat:[email protected]+1 
     when 'dog' then @dog:[email protected]+1 
end as animal_row_num 
from animals, 
    (select @cat:=0, @dog:=0) animal_row_nums 

MySQL의 바이올린을 : Demo

+0

감사! 그것은 두 마리의 동물에게 그것을 할 것입니다. 하지만 10000 마리의 동물이 있다면 어떨까요? – Hander

+0

그런 다음 일반 DB 쿼리 수준이 아니라 저장 프로 시저 또는 스크립트 언어에서 이러한 보고서 생성을 사용하지 않아야합니다. –

+0

PHP로하는 방법을 알고 있지만 큰 테이블에서 몇 주가 걸릴 것입니다. 나는 가치보다 견디기 쉬운 또 다른 칼럼을 만들고 싶었다. 그래서 더 쉬운 방법이 있다고 생각했습니다. 저장 프로 시저를 살펴보고 대답을 수락하거나 질문을 업데이트 할 것입니다. – Hander