【发布时间】:2013-11-29 04:25:10
【问题描述】:
这是我的数据库和计数查询的 sqlFiddle...
http://sqlfiddle.com/#!2/45150/6
如果我运行 select * 查询,它会返回一行,但是当我对同一个查询运行 count 时,它会给我 2 个结果...
这是对count的查询,它对“select *”产生不同的结果
SELECT count(*)
FROM (`user_info`)
JOIN `users` ON `users`.`id`=`user_info`.`user_id`
LEFT JOIN `profile` ON `users`.`id`=`profile`.`user_id`
JOIN `categories` ON `categories`.`user_id` = `users`.`id`
WHERE `users`.`is_enabled` = 1
AND `categories`.`cat_id` IN (1, 3, 4)
AND (
user_info.first_name LIKE '%bob%'
OR user_info.last_name LIKE '%bob%'
OR profile.title LIKE '%bob%'
OR profile.overview LIKE '%bob%'
)
GROUP BY `users`.`id`
【问题讨论】:
-
select * 为我返回 2 行:sqlfiddle.com/#!2/45150/22
-
@cha 因为你没有放
group by users.id