mysql - 使用 GROUP BY 和 WHERE 子句的 INNER JOIN 错误

标签 mysql sql database

我有这些表格

学生:

id  Name
-------------------
1   john
2   carlos
3   zoya
4   arab
5   amir

并且,

电子邮件:

id      email   student_id
--------------------------
1   a@mail.com      1
2   b@mail.com      2
3   c@mail.com      2
4   d@mail.com      3
5   e@mail.com      4

我正在使用此查询,但它出现在查询第 4 行上使用 sql 错误

SELECT * FROM student 
INNER JOIN email 
ON student.id = email.student_id 
GROUP BY student.id
WHERE student.id = 2

我在 SQL 方面没有太多经验。

最佳答案

首先,GROUP BY 始终位于 WHERE 子句之后。
其次,如果您使用 GROUP BY 子句,则应该对未包含在其中但仍存在于 SELECT 子句中的字段使用聚合函数,或者GROUP BY SELECT 中包含的整个列包。

关于mysql - 使用 GROUP BY 和 WHERE 子句的 INNER JOIN 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25493080/

相关文章:

php - 日期范围正好是 1 个月的 MySQL 查询

mysql - 在mysql数据库中创建一个默认值为null的列

php - 如何从sql select查询结果中一次读取两条记录?

sql - c & sql - 表不接受插入语句

mysql - 最优二元线性回归计算

sql - 如何为表中的每个 id 运行此查询

mysql - 两个表通过引用表引用单个表

mysql - 在 where 子句中使用别名 - SQL

php - 如何使 PHP 使用正确的字符集?

java - JDBC 与 MySQL 的持久连接