爱死你了 发表于 2016-10-22 02:21:11

困在MySQL的Group by陷阱中两天

  这两天,一直对我的SQL语句得不出正确结果而苦恼。
  SQL语句类似这样的:
  Select * from A left join b on A.id=B.id and A.date<B.date where A.id>10 and B.date<'2006-09-01' group by A.date
  结果一行数据都没有
  
  刚才解决了,正确的SQL居然是这样:
  Select * from A left join b on A.id=B.id and A.date&lt;B.date and B.date&lt;'2006-09-01' where A.id>10 group by A.date
  将“and B.date&lt;'2006-09-01'”从“where”移到“on”中
  看来,当SQL语句有“group by x”结尾时,“where”条件中出现的字段必须和“x”字段都属于同一张表。
页: [1]
查看完整版本: 困在MySQL的Group by陷阱中两天