$q2 = "SELECT startdate,
GROUP_CONCAT(summary separator '<br />') as summary,
GROUP_CONCAT(TIME(startdate)) AS starttime,
GROUP_CONCAT(TIME(enddate)) AS endtime
FROM oc_clndr_objects
WHERE calendarid = $calID
GROUP BY DATE(startdate)
ORDER BY startdate ASC";
위의 쿼리는 하나의 결과 (예상 한대로 1 개의 날짜에 대해 3 개의 이벤트) 만 반환합니다. 그러나 매일 반복되는 하나의 이벤트가 있고 쿼리가 넘어 가지 않습니다 첫 번째 출발일.MySQL GROUP BY 쿼리는 하나의 행만 반환합니다.
GROUP BY 절과 관련이 있고 집합 함수에 대해 뭔가 알고 있지만 주위를 감쌀 수는 없습니다. - 출력은 http://www.deliriousdreams.co.uk/ - "DJ Schedule Test"에 표시됩니다.
약간 불법적 인 SQL 쿼리를 수정하는 데 도움이되는 사항에 많은 도움이 될 것입니다.
편집 : 좋아, 그루비 인들이 DATE (시작일) AS 시작일로 개정되었습니다. 하나의 작은 웃음, 그 후 나는 DATE와 TIME (가장 빠른 것부터) 순으로 정렬 할 수 있기를 원합니다. - 분명히 DATE와 TIME은 모두 startdate (DATETIME 스탬프)에서 파생됩니다. 위의 쿼리를 수정하여 가능합니까? 나는 PHP 마술을해야만합니까?
'GROUP BY'는 'SELECT'목록과 다릅니다. 이 작업을 의도 한대로하려면'SELECT DATE (startdate)'를 사용해야 할 것이다. –
시작 날짜 대신 DATE (시작 날짜)를 선택하십시오. – Jaylen
StartDate는 datetime 일 수 있습니다. 시간은 기록마다 다를 수 있습니다. 다른 사람들이 그것을 날짜로 바꾸라고 말하면서 시간을 줄이면, 그룹은 그 때 일해야합니다. – xQbert