如何获得按3个最大值排序的结果?

ijxebb2r  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(290)

我有一个数据库的结果显示为提供 TEXT ,我也尝试过在提供领域 VARCHAR 我的结果(offer字段有值):

mark 1234 | peter 201 | zara 449 |lily 2145

这不起作用(即使提供了 TEXT 以及 VARCHAR ):

select name, offer from friends ORDER BY offer DESC LIMIT 3

结果: mark 1234 | peter 201 | zara 449 -错
这只适用于1个结果(但我想要3个结果):

select name, max(offer) from friends ORDER BY offer DESC LIMIT 3

结果: lily 2145 我真正想要的是这个结果:

mark 1234 | lily 2145 | zara 449
cczfrluj

cczfrluj1#

如果将offer设置为字符串,则值按char排序,因此如果需要按数字排序,则可以按顺序使用强制转换为整数(unsignef)

select name, offer 
from friends ORDER BY cast(offer AS UNISGNED) DESC LIMIT 3
neskvpey

neskvpey2#

我认为这是个愚蠢的错误,只选择offer而不是max

select name, offer from friends ORDER BY offer DESC LIMIT 3

相关问题