mysql新手,
我有一张这样的table。
___|____
Id | name
1 | a
2 | b
3 | c
4 | A
5 | B
6 | C
在sql中得到这样的结果的查询是什么
___|____
Id | name
4 | A
1 | a
5 | B
2 | b
6 | C
3 | c
3条答案
按热度按时间vsaztqbk1#
像这样试试。我刚用了w3schools的数据库,需要检查一下mysql是否工作。
xghobddn2#
这将创建一个新列'newid',并按您需要的顺序排列
ykejflvf3#
编辑
这将是最简单的方法,将dds的思想转变为适用于所有mysql版本的更通用的工作方式。。
查询
结果
db fiddle视图
解释视图以便您可以看到db fiddle上发生了什么
或者更稳定的一个,因为为计算的\u ascii \u值列生成的值是唯一的。解释视图以便您可以看到db fiddle上发生了什么
另一个查询相当复杂。。
查询
结果
db fiddle视图
注意有些事情你应该知道
COLLATE utf8mb4_bin
可能更改为COLLATE utf8_bin
相反,当您的mysql使用utf8字符集时。以及
SELECT @orderList := 'A,a,B,b,C,c' /* add all to Z,z */
你需要添加更多Z,z