0
直到今天,这是得到的一切查询,我需要知道从我的数据库中的照片:当使用count函数时,会导致此查询提供此错误的原因是什么?
SELECT
users.facebook_id,
users.first_name,
users.last_name,
photos.filename,
photos.description,
photos.finalist,
bookmarks.photo_id AS bookmark
FROM `photos`, `users`
LEFT JOIN bookmarks ON bookmarks.photo_id = 123 AND bookmarks.facebook_id = 123456789
WHERE
users.facebook_id = photos.author AND
photos.id = 123
LIMIT 1
不过,现在我想也找出有多少票投给了这个照片。
这里是我的“票”表:
CREATE TABLE IF NOT EXISTS `votes` (
`photo_id` int(11) NOT NULL,
`facebook_id` bigint(20) NOT NULL COMMENT 'The user''s Facebook ID.',
`date` varchar(10) NOT NULL COMMENT 'Date formatted as YYYY-MM-DD.',
UNIQUE KEY `one_vote_per_day` (`photo_id`,`facebook_id`,`date`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
这里是我试图修改我的SQL查询来获取投票数:
SELECT
users.facebook_id,
users.first_name,
users.last_name,
photos.filename,
photos.description,
photos.finalist,
bookmarks.photo_id AS bookmark,
count(votes.*) AS vote_count
FROM `photos`, `users`
LEFT JOIN votes ON votes.photo_id = 123
LEFT JOIN bookmarks ON bookmarks.photo_id = 123 AND bookmarks.facebook_id = 123456789
WHERE
users.facebook_id = photos.author AND
photos.id = 123
LIMIT 1
上述尝试导致了这个错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*) AS vote_count FROM `photos`, `users` LEFT JOIN votes ON votes.photo_id = 1' at line 9
您应该接受一些回答您的其他问题(使用绿色复选标记)工作 –