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