$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日起事件) - 但是有1個事件,每天被重複,且查詢並沒有超越第一個開始日期。MySQL的GROUP BY查詢返回只有一排
我知道它與GROUP BY子句有關,並且關於聚合函數有些事情,但我無法圍繞它進行包裝。 - 輸出是可見的http://www.deliriousdreams.co.uk/ - 「DJ Schedule Test」
任何幫助糾正輕微非法SQL查詢將不勝感激。
編輯:好的,groovy人,修改爲DATE(startdate)AS startdate。有一點小問題,之後我希望能夠通過DATE對它們進行排序,然後是TIME(最早的第一個) - 顯然,DATE和TIME都是從startdate(DATETIME標記)派生的 - 這可能是通過修改上述查詢或我必須做一些PHP巫術?
您的GROUP BY與SELECT的列表不同。你需要使用'SELECT DATE(startdate)'來使你的工作方式符合你的想法。 – 2014-11-20 18:37:19
嘗試選擇DATE(startdate)而不是startdate – Jaylen 2014-11-20 18:37:38
StartDate可能是日期時間。時間可能因記錄而異。正如其他人所說,將其轉換爲日期以便減少時間,然後該團隊應該工作。 – xQbert 2014-11-20 18:42:50