列width
和height
为smallint(6)
我想从distinct
按width
订购width asc
值,然后按height asc
订购。
这是我的尝试:
- $sql = "select * from banners group by width order by width, height asc";
- $sql = "select * from banners group by width order by width asc, height asc";
- $sql = "select * from banners group by width order by width asc, height";
没有任何作用。选择按宽度排序,但高度不合适。
答案 0 :(得分:1)
使用group by而不是distinct是不合适的(并且不允许启动mysql 5.7)只选择一行没有显式名称
您应该在选择和聚合函数中使用显式列名,列名不在
组中通过这种方式,您可以真正控制所选值和行中结果的顺序
例如:
select distinct width, height
from banners
order by width, height asc
或
select width, max(height )
from banners
group by width
order by width, height asc