マニュアルを読む限り、MySQL の GROUP BY 拡張は、下記が必須条件のように(私には)読み取れました。

GROUP BY で名前が指定されていない各非集約カラム内のすべての値がグループごとに同じ

・内容が良く理解できないのですが、現実問題として「すべての値がグループごとに同じ」って状態はまずあり得ないのではないかと思います


不確定な値を取得しても困るため、標準SQLで書きたいのですが
・例えば、リンク先のSQLを、標準SQLで書きたいという理由だけで下記へ変更した場合、SQLの意味は変わってくるでしょうか?
・具体的には、「GROUP BY o.custid」と「GROUP BY o.custid, c.name」の相違点は?

SELECT o.custid, c.name, MAX(o.payment)
  FROM orders AS o, customers AS c
  WHERE o.custid = c.custid
  GROUP BY o.custid, c.name;

あるいは、下記SQLを標準SQLにしたい、という理由だけで

SELECT o.custid, o.name,o,address,MAX(o.payment)
  FROM orders AS o
  GROUP BY o.custid;

下記へ変更すると、意味は変わってくる?

SELECT o.custid, o.name,o.age,o.sex,MAX(o.payment)
  FROM orders AS o
  GROUP BY o.custid, o.name, o.age, o.sex;