【问题标题】:Error for INNER JOIN with GROUP BY and WHERE clause使用 GROUP BY 和 WHERE 子句的 INNER JOIN 错误
【发布时间】:2014-10-19 00:38:36
【问题描述】:

我有这些表

学生:

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

我正在使用这个查询,它得到了Using sql error on query line 4

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

我没有太多的 SQL 经验。

【问题讨论】:

  • GROUP BY 子句在哪里?
  • 对不起..我忘记了..问题已更新
  • @user3710243 将分组放在 where 子句之后
  • @MKhalidJunaid 再次感谢伙计。但我怀疑我曾经听说过 WHERE 子句应该放在查询的最后.. .
  • @user3710243 您必须遵循Docs中提到的查询语法

标签: mysql sql database


【解决方案1】:

首先,GROUP BY 总是在 WHERE 子句之后。
其次,如果您使用GROUP BY 子句,您应该对字段使用聚合函数,这些函数不包含在其中,但仍存在于SELECT 子句中,或者GROUP BY 包含在SELECT.

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-14
  • 1970-01-01
  • 2018-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-01
相关资源
最近更新 更多