나는 다음과 같은 테이블이 있습니다PHP는 MySQL의 우선 순위에 의한 순서와 순위는
가 지금은 속성 테이블에서 행을 추출 할 :
Properties
id agency_id refno
1 1 AA101
2 3 AA201
3 2 AA501
4 1 AA762
5 3 AA555
agency
agency_id agency_name priority
1 A 30
2 B 10
3 C 20
나는 기관 테이블에있는 각 기관의 우선 순위를 정의 순위와 우선 순위에 따라 제 1 기관에서 제 1 행, 제 2 기관에서 1 행, 제 3 기관에서 1 행 등을 추출하고 싶습니다.
그런 다음 1 차 대행사의 2 번째 줄, 2 번째 대행사의 2 번째 줄, 3 번째 대행사의 두 번째 줄 등등.
그런 다음 각 기관의 우선 순위에 따라 전체 결과를 정렬하려고합니다. 미세한 오류가없는 나는 다음과 같은 조항을 사용하고 있지만 내가 조인을 넣어 가지고 원하는 결과를
select properties.id,
properties.agency_id,
IF(@prev <> properties.agency_id, @cnt := 1, @cnt := @cnt + 1) AS rank, @prev := properties.agency_id,
properties.refno
where properties.agency_id = agency.agency_id
order by agency.priority, rank
을주지 않고, 그 작업. 하지만 다음과 같은 결과가 필요합니다 :
나는 기관 테이블에 각 기관의 우선 순위를 정의했습니다. 쿼리가 조인과 함께 잘 작동합니다. 다음과 같은 결과가 필요합니다.
agency2 row1
agency3 row1
agency1 row1
agency2 row2
agency3 row2
agency1 row2
agency2 row3
agency3 row3
agency1 row3
대행사 표 및 순위에 정의 된 우선 순위에 따라 결과가 필요합니다.
각 속성에 우선 순위를 어떻게 할당합니까? SQL 테이블은 본질적으로 정렬되어 있지 않으므로이 정보를 명시 적으로 포함하는 열이 있어야합니다. –
결과를 이상적으로 보이게 할 테이블을 제공 할 수 있습니까? 나는 그 질문을 이해하고 있는지 확신 할 수 없다 ... –
당신은'FROM' 절을 빠뜨린 채 그것을 추가하고 대신'JOIN'을 사용하고 [실행]한다. (http://www.sqlfiddle.com/#!2/4ea24e/8) 그러나 이것이 당신이 찾고있는 것인지 아닌지 확실하지 않습니다. –