在具有连接的查询中,组返回了哪一行? (MySql中的默认行为)
*我环顾四周,看到了几个解决方案,通过加入(here)来控制哪一行回来。但是什么是默认行为?正如其他提到的那样,orderby似乎没有效果。我在物理上颠倒了其中一个表中的行,但这似乎没有效果。
我正在尝试在现有系统中调试现有的可怕查询,并且通过查询的多连接组似乎几乎总是选择所需的行。我正试图处理一个边缘案例。
答案 0 :(得分:2)
https://dev.mysql.com/doc/refman/5.0/en/group-by-handling.html
服务器可以自由选择每个组中的任何值,因此除非他们 是相同的,所选择的值是不确定的。此外, 添加a不会影响每组中的值的选择 ORDER BY子句。
你可以得到任何匹配的行,所以不要假设有任何默认行为