mysql强制转换为unsigned不起作用

4ioopgfo  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(297)

我创建了以下查询:

SELECT DISTINCT
model,
substring_index(group_concat(id ORDER BY id DESC), ',', 1) AS newid, 
substring_index(group_concat(mainimage ORDER BY id DESC), ',', 1) AS newmainimage
FROM `example-table`
GROUP BY model
ORDER BY newid DESC;

问题是这个查询对变量进行排序 newid 像这样:99,9,87,121,11,而我想看看:121,99,87,11,9。
我以为答案是改变 ORDER BY newid DESCORDER BY CAST(newid AS UNSIGNED) DESC 但这根本没有结果,所以很明显我错了。我错过了什么?

uqxowvwt

uqxowvwt1#

我找到了解决办法。显然我应该这样使用cast函数:

cast(substring_index(group_concat(id ORDER BY id DESC), ',', 1) as unsigned) AS newid

相关问题