0
我写了一个查询与DISTINCT
但我仍然得到重复记录返回。独特不能正常工作
SELECT DISTINCT
`cuisine_types`.`id`,
`cuisine_types`.`name`,
`cuisine_types`.`image`,
(
SELECT group_concat(`tagname` separator ', ')
FROM `cuisine_tags`
WHERE `cuisine_type` = `cuisine_types`.`id`
) AS tags,
(
3959 * acos(cos(radians(" . $dLat . ")) * cos(radians(gps_lat)) * cos(radians(gps_lon) - radians(" . $dLon . ")) + sin(radians(" . $dLat . ")) * sin(radians(gps_lat)))
) AS distance
FROM `company`
LEFT JOIN `cuisine_types`
ON
`company`.`cuisine_type_id` = `cuisine_types`.`id`
HAVING
distance < " .$dMiles
当我尝试使用GROUP BY
函数时,我的查询无法正常工作。 当我使用GROUP BY
我把它放在我的上述HAVING
:
GROUP BY `cuisine_types`.`name`
例子:
当我使用这些值使用它:
$dLat = '52.779716';
$dLon = '21.84803';
$iKm = '30';
它返回:
id = 1
name = Snackbar
image =
tags = Patat, Snacks
distance = 17.4713944772963
当我使用$iKm
与3000它返回s这一行以及:
id = 1
name = Snackbar
image =
tags = Patat, Snacks
distance = 722.407714147792
所以我得到两个记录。 当我用groupby和$iKm
= 30;它什么都不返回。如果值为3000,则返回一行。但是我有一个距离为17英里的记录,因此在30以下。
我在您的查询中看不到任何明显的内容,哪些内容不正确? – 2013-02-19 17:51:25
我在您的查询中看不到任何组,并且哪些工作不正常是什么意思? – Khez 2013-02-19 17:53:06
对不起,我在尝试没有明显的东西,为groupby检查顶部的帖子。 – 2013-02-19 17:58:55