gpt4 book ai didi

mysql - SQL 查询没有正确执行 DESC

转载 作者:行者123 更新时间:2023-12-01 00:36:34 28 4
gpt4 key购买 nike

我有一个问题,我不知道如何解决。我有这个查询:

$sql = "SELECT * FROM transfer_centre WHERE status = 'out' ORDER BY pris DESC";

我的数据库中有四个值作为 pris:0, 4, 8, 26

因此,正如查询所述,它们应该这样列出:

  • 26
  • 8
  • 4
  • 0

但是它以某种方式将 26 的值视为 2.6(我猜?),因此 26 介于 4 和 0 之间?

有人可以帮我解决这个问题吗?

最佳答案

看起来您的列是 VARCHAR 类型,并且排序方式与此类似。当您订购 VARCHAR 时,您在每个字符上从左到右排列,因此 26 介于 0 和 4 之间。

如果你不能改变你的模式,你可以试试这个:

SELECT * FROM transfer_centre WHERE status = 'out'    ORDER BY CAST(pris as SIGNED INTEGER) DESC

注意:这离理想的解决方案还很远!如果该列被视为数字,您应该更改应用正确类型的架构。

关于mysql - SQL 查询没有正确执行 DESC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47835575/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com