获取MYSQLI结果,按3个最大值排序

时间:2018-08-27 09:08:25

标签: php mysqli

我有一个数据库结果显示要约要约为TEXT,我也在VARCHAR的要约字段中尝试过它

我的结果(要约字段包含值):

mark 1234 | peter 201 | zara 449 |lily 2145

这不起作用(即使以TEXTVARCHAR的形式提供):

$result = mysqli_query($mysqli, "select name, offer from friends ORDER BY offer DESC LIMIT 3");

结果: mark 1234 | peter 201 | zara 449-错误

这仅适用于1个结果(但我想要3个结果):

 $result = mysqli_query($mysqli, "select name, max(offer) from friends ORDER BY offer DESC LIMIT 3");

结果: lily 2145

我真正想得到的结果是

mark 1234 | lily 2145 | zara 449

2 个答案:

答案 0 :(得分:1)

如果您提供字符串形式的值,则该值按char排序,因此如果您需要按数字排序的rder,则可以按以下顺序使用强制转换为整数(unsignef)

$result = mysqli_query($mysqli, "select name, offer 
               from friends ORDER BY cast(offer AS UNISGNED) DESC LIMIT 3");

答案 1 :(得分:0)

我认为这是一个愚蠢的错误,只是忽略报价而不是最高价

$result = mysqli_query($mysqli, "select name, offer from friends ORDER BY offer DESC LIMIT 3");