id name score 1 张三 1 2 李四 2 3 王五 3 4 钱六 4 5 张三 5 排序后结果为 1 张三 1 5 张三 5 2 李四 2 3 王五 3 4 钱六 4
select
id,
name
,score
from
表名
order
by
name
这样会有一些BUG 因为name是中文会按首字的字母序排序最终结果为
2 李(L)四 2 4 钱(Q)六 4 3 王(W)五 3 1 张(Z)三 1 5 张(Z)三 5 而不是先以id排序应该这样写:select
a.id,a.
name
,a.score
from
表名 a
inner
join
(
select
min
(id)
as
id,
name
from
表名
group
by
name
)
as
b
on
a.
name
=b.
name
order
by
b.id