UNION 명령을 사용하여 2 개의 쿼리 테이블을 추가하는 새로운 mySQL 사용자입니다. 동일한 ID를 가지고있는 경우 결과를 제외하고 노동 조합은 반복됩니다. phpMyAdmin을 통해 ID를 삭제하거나 변경하면 해당 항목이 표시됩니다. 예 : 'UNION 테이블에서 잘못된 데이터 쿼리
My day | today | 12:00
My day | today | 12:00
와 ID의 변화 :
OK day | other | 12:01
My day | today | 12:00
그리고 이것은 어떻게해야
$query = "SELECT id,title,day,time
FROM $db_1
UNION
SELECT id,title,day,time
FROM $db_2
WHERE month='$month' AND year='$year' ORDER BY time" ;enter code here
$query_result = mysql_query ($query);
while ($info = mysql_fetch_array($query_result))
{
$day = $info['day'];
$event_id = $info['id'];
$events[$day][] = $info['id'];
$event_info[$event_id]['0'] = substr($info['title'], 0, 8);;
$event_info[$event_id]['1'] = $info['time'];
}
훨씬 더 효율적인 중복 제거에 있습니다 :
의 차이에 의해 그룹을 사용하는 내 경우에는 모든 문제의 원인이 된 하위 쿼리에 filesort를 소개하는 것입니다. 많은 시간이 걸리는 어리석은 간단한 쿼리의 설명 계획을 살펴볼 때이 점을 발견했습니다. 내 대답을 편집하여 방금 생성 한 것을 보여주십시오. – Fluffeh
@Fluffeh ok. 당신의 대답을 통해 갈 것입니다. 감사. – sel
@Fluffeh 쿼리를 실행하고 비교해 주셔서 감사합니다. 정말로 훌륭하고 설명 된 대답. – sel