mysql - SQL JOIN 变量不起作用

标签 mysql join left-join

我正在尝试使用 2 个左连接从 3 个表中选择变量。

SELECT a.username, a.id, COUNT(c.featured)
FROM user a
LEFT JOIN board b
ON a.id = b.user_id
LEFT JOIN pins c
ON a.id = c.user_id
WHERE c.featured='yes'
GROUP BY b.board_name
ORDER BY COUNT(c.featured) ASC
LIMIT 3

这应该从数据库中获取 3 个得分最高的板 block ,并根据它们出现的次数升序排列。我用它来回显:

".$info['b.board_name']."

但是没有显示任何内容

最佳答案

我不确定您是否想要 b.boardnamea.username, a.id 在您的 SELECT 中,但您有相应地执行GROUP BY:

尝试这样做:

SELECT a.username, a.id, COUNT(c.featured)
FROM user a
LEFT JOIN board b ON a.id = b.user_id
LEFT JOIN pins c ON a.id = c.user_id
WHERE c.featured = 'yes'
GROUP BY a.username, a.id
ORDER BY COUNT(c.featured) DESC LIMIT 3

或者

SELECT b.board_name, COUNT(c.featured)
FROM user a
LEFT JOIN board b ON a.id = b.user_id
LEFT JOIN pins c ON a.id = c.user_id
WHERE c.featured = 'yes'
GROUP BY b.board_name
ORDER BY COUNT(c.featured) DESC LIMIT 3

关于mysql - SQL JOIN 变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20357385/

相关文章:

mysql - 损坏的插入语句

php - mysql查询失败

java - JDBC 将多个子表连接到父表,我如何知道结果行来自哪个表?

sql - 添加 LEFT JOIN 后损坏的计数 (*)

php - 发送 STMT_PREPARE 数据包时出错。 PID=2

php - 让 PHP 脚本计算 MySQL 结果?

php - SQL JOIN 与 CakePHP

hadoop - HiveQL 查询没有返回结果,也没有错误

sql - Postgres 循环更新记录

mysql - 使用多表左连接插入时在单个表中插入重复行