order by 排序原则
order by 默认不是根据拼音排序的 ,是根据ascii码排序的
![](https://img-blog.csdn.net/2018090923311036?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pob3VtaW1pX2NvbWVvbjEyMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
如果按照拼音排序的话这边“大”应该是num=4中最大的,由此可以看到order by 是靠ascii码排序的。
所以一般是数字->字母->中文
按拼音排序
ORDER BY nlssort(name,'NLSSORT=SCHINESE_PINYIN_M')
![](https://img-blog.csdn.net/20180909233310188?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pob3VtaW1pX2NvbWVvbjEyMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
但是当union 与nlssort同用的时候 会有一些问题
![](https://img-blog.csdn.net/20180909233208576?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pob3VtaW1pX2NvbWVvbjEyMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
这样写会报
![](https://img-blog.csdn.net/20180909233230753?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pob3VtaW1pX2NvbWVvbjEyMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
再在外面套一层变成一个临时表就可以了 这个也不知道原理是啥子 有知道的盆友们 欢迎留言评论指导我一下
![](https://img-blog.csdn.net/20180909233437873?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pob3VtaW1pX2NvbWVvbjEyMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)