0
BY ORDER 나는 다음과 같은 테이블이있는 데이터베이스가MySQL의 GROUP BY 및 중복 제거
나는 각 점포에 대해 하나의 기록을 반환 할NULL - Not visited
0 - Visit pending
1 - Visited
2 - Skipped
(상점마다 여러 번 방문 할 수도 있음). 그러나, 나는 반환 할 경우에만 가장 낮은 visitStatus 번호 :
+---------+--------------------------------------+------------+------------+
| storeID | storeCity | visitStatus| tripDate |
+---------+--------------------------------------+------------+------------+
| 634 | BLACKBURN | 1 | 05/17/2014 |
| 634 | BLACKBURN | 0 | 07/30/2014 |
| 634 | BLACKBURN | 2 | 07/30/2014 |
| 636 | WARRINGTON | NULL | 07/30/2014 |
+---------+--------------------------------------+------------+------------+
하지만 그것은 반환해야합니다 :
NULL, 0, 1 또는 2예를 들어, 내 현재의 쿼리가이 반환
+---------+--------------------------------------+------------+------------+
| storeID | storeCity | visitStatus| tripDate |
+---------+--------------------------------------+------------+------------+
| 634 | BLACKBURN | 0 | 07/30/2014 |
| 636 | WARRINGTON | NULL | 07/30/2014 |
+---------+--------------------------------------+------------+------------+
GROUP BY와 ORDER BY의 다양한 조합을 시도했지만 해결할 수 없습니다. 어떤 도움이 많이
내 현재 쿼리
SELECT
stores.id AS storeID,
stores.city AS storeCity,
trips_stores.status AS visitStatus,
trips.trip_date AS tripDate
FROM stores LEFT JOIN trips_stores on stores.id = trips_stores.store_id
LEFT JOIN trips ON trips_stores.trip_id = trips.id
WHERE stores.map_display = 1
ORDER BY storeID ASC
답장을 보내 주셔서 감사 합니다만 알 수없는 열 'visitStatus'이 (가) 필드 목록에 표시됩니다. – ginsberg
@ginsberg. . . 이봐. * 나는 쿼리를 작성할 때 의미하는 바를 알고 있었지만 정확하지 않았습니다. 올바른 논리로 수정했습니다. –