解决方案 »

  1.   

    是不是group by后面的字段必须在select 列后面出来??
    不是
      

  2.   

    把相同名字的归为一组。那么名字相同的为一条记录。但是他们会有不同的id。这个结果集只显示一个id.(到底会显示哪一个id呢?它是怎么处理的?)

    这个不是标准的SQL语句,是MYSQL对标准SQL语法进行了扩展,允许SELECT后的字段不出现在GROUP中.这种情况下,则MYSQL自行决定取其中一条记录的值输出.
      

  3.   

    select * from tb_user group by name where name='张三'  查询会出现语法错误:where 须在 group 之前,group 之后用 having
    select * from tb where name='ZS' group by name
      

  4.   

    1. 说法是针对 MSSQL 可以的,严格 语法 ,MYSQL 可以不用,扩展了,有时候会出现意想不到的结果。
    2. ID将是你的NAME相同的第一条
    3. 那是基本语法,WHERE 要在GROUP BY 前面
      

  5.   

    上面不是标准SQL,标准SQL用group by的时候必须要加 avg sum 等归并函数的。你的是mysql的扩展sql,要看你的mysql是什么版本,再查扩展的文档了,总之,不建议这么用,除非必须要用。
      

  6.   

    我想问下。如果group by 后面如果跟着2个字段 分组。有顺序之分吗、?不同顺序 结果集一样吗。(现在不在电脑面前不能测试)