mysql находит пользователей, зарегистрированных в следующих 80 городах для выбранной категории - PullRequest
0 голосов
/ 03 июля 2019

Привет, у меня есть таблица городов с записями aprx 8000 и одна таблица пользователей с записями aprx 30000.

Я могу найти пользователей для каждого города, зарегистрированного в категории с моим запросом ниже.

SELECT count(pkUserID) Records,CityName,pkCityID,pkCityID+80 
FROM cities as c 
left join users f on f.UserCity = c.CityName 
WHERE UserStatus='1' 
  AND UserPrivateProfile <>'1' 
  AND UserSpam <>'1' 
  AND CHAR_LENGTH(UserDescription) > 200 
  and (f.fkCategoryID= 56) 
group by CityName 
ORDER BY Records DESC

Но мне нужно проверить следующие 80 городов с текущим, если count Количество записей меньше 5. Для этого я попытаюсь ниже, но, похоже, не работает.

SELECT count(pkUserID) Records,CityName,pkCityID,pkCityID+80 
FROM cities as c 
left join users f on f.UserCity = c.CityName 
WHERE UserStatus='1' 
  AND UserPrivateProfile <>'1' 
  AND UserSpam <>'1' 
  AND CHAR_LENGTH(UserDescription) > 200 
  and (f.fkCategoryID= 56)
   OR (lower(f.UserCity) IN ( select group_concat(CityName) 
                              from italy_cities 
                              where (pkCityID <= pkCityID+80))) 
group by CityName 
ORDER BY Records DESC
...