STRUCTURE TABLES AND ERROR WHEN EXECUTE QUERY ON SQLFIDDLE
查询:
SELECT
n.Type as Type,
n.UserIdn as UserIdn,
u.Username as Username,
n.NewsIdn as NewsIdn,
n.Header as Header,
n.Text as Text,
n.Tags as Tags,
n.ImageLink as ImageLink,
n.VideoLink as VideoLink,
n.DateCreate as DateCreate,
SUM(l.Type = 'up') as Uplikes,
SUM(l.Type = 'down') as Downlikes,
(SUM(l.Type = 'up') - SUM(l.Type = 'down')) as SumLikes
FROM News n
INNER JOIN Users u ON n.UserIdn = u.UserIdn
LEFT JOIN Likes l ON n.NewsIdn = l.NewsIdn
WHERE SumLikes > 20 AND n.DateCreate < STR_TO_DATE('2014-01-03 14:17:43', '%Y-%m-%d %H:%i:%s')
GROUP BY n.id
ORDER by SumLikes DESC
当我使用查询时出现错误:
Unknown column 'SumLikes' in 'where clause'...
我知道“SumLikes”中存在错误,但如何正确地进行 sql 查询?
请告诉我如何制作?
最佳答案
为列添加别名时,我们需要对其进行不同的处理。
删除 SumLikes > 20
并在 GROUP BY
示例:
HAVING SumLikes > 20
关于mysql - 如何正确执行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21043212/