我在創建mysql
查詢時遇到問題。我有以下表格:objects, object_photos, photos
使用GROUP_CONCAT創建Mysql查詢,twee左連接,WHERE LIKE子句和GROUP BY
objects
包含:id, street, etc..
object_photos
包含:object_id, photo_id, sort_index
photos
包含:id, file, etc...
我需要得到具有streetname的對象可能是 '術語',得到屬於該對象的照片將這些照片作爲對象的子陣列。
如果可能的話,我想要一個錯字,如果它太難了,沒問題,我會用WHERE objects.street LIKE %term%
,並告訴人們鍵入街道名的一部分。 另外,我無法用sort_index
排序的照片和限制的那些照片1
隨着谷歌搜索,閱讀等,我想出了一個查詢:
SELECT objects.id, object.street,
GROUP_CONCAT(photos.file) AS photo
FROM objects
LEFT JOIN object_photos
ON object_photos.object_id=objects.id
LEFT JOIN photos
ON photos.id=object_photos.photo_id
GROUP BY objects.id'
我不理解GROUP BY
這個查詢和這個查詢缺少我需要的上述幾個子句。
我希望你們的人能幫助我!
'GROUP_CONCAT'是一個聚合函數,它使用分隔符創建一個列表。如果你的GROUP BY objects.id,你的結果將是每個objects.id的一行,而GROUP_CONCAT的值將是每個objects.id的'photo.file'列表。嘗試沒有「GROUP BY」,你會看到不同之處。 –