我有以下查询
SELECT nature_images.image_code,
nature_objects.name
FROM nature_images
LEFT JOIN nature_objects
ON nature_images.object_id = nature_objects.id
AND nature_images.approved = 1
ORDER BY RAND()
LIMIT 0,5
结果返回重复的 nature_object.ids 但具有不同的 nature_objects.id,我基本上需要的是 nature_object.id 在返回的每一行中都是唯一的并且不会重复。 我尝试使用 SELECT DISTINCT 但这似乎失败了..有办法做到这一点吗?
最佳答案
您可以对对象名称进行GROUP BY
并获取最大代码或最小代码。
SELECT MAX(nature_images.image_code),
nature_objects.name
FROM nature_images
LEFT JOIN nature_objects
ON nature_images.object_id = nature_objects.id
AND nature_images.approved = 1
GROUP BY nature_objects.name
ORDER BY RAND()
LIMIT 0,5
关于php - 如何确保SQL查询中的字段是唯一的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26267086/