通过联接表进行Mysql排序不起作用

时间:2011-11-23 13:45:16

标签: mysql

这是我的SQL查询。我使用它从join三个表中选择一些数据:

SELECT `pages`.`page_id`, `pages`.`content`
FROM (`pages`)
JOIN `comments` ON `pages`.`page_id` = `comments`.`page_id`
JOIN `meta` ON `pages`.`page_id` = `meta`.`page_id`
WHERE DAYOFMONTH ( meta.date ) = 23
AND `pages`.`category` =  '1'
ORDER BY `meta`.`visits` asc
LIMIT 25

问题是如果按类别过滤帖子,排序依据不起作用,e.i。如果这部分存在:

AND `pages`.`category` =  '1'

如果我省略这部分,它可以正常工作。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

要使查询有效,请将条件移至连接:

...
JOIN `meta` ON `pages`.`page_id` = `meta`.`page_id` 
and `pages`.`category` =  '1'
WHERE DAYOFMONTH ( meta.date ) = 23
ORDER BY `meta`.`visits` asc
LIMIT 25