gpt4 book ai didi

php - 使用 php 和 mysql 对 mysql 数据库进行高级排序和搜索

转载 作者:行者123 更新时间:2023-11-29 05:29:58 25 4
gpt4 key购买 nike

我面临着一个独特的挑战。

我得到了一个包含 100 个数字的表格,名为 HUNDREDNUMBERS。我想选择最好的季度(75 到 100 个数字),并将它们放入另一个名为 BESTQUARTER 的表中。

我也想选最差的四分之一(1到25个数)我想将它们放入另一个名为 WORSTQUARTER 的表中。

到目前为止,这是我的 Mysql 代码,

$Extract_Data = "
CREATE TABLE $BESTQUARTER
SELECT
HUNDREDNUMBERS.number
FROM
HUNDREDNUMBERS order by
HUNDREDNUMBERS.number desc LIMIT 25 ";
$QuerySuccess = mysql_query($Extract_Data, $connection);

还有另一张 table ....

 $Extract_Data = "
CREATE TABLE $WORSTQUARTER
SELECT
HUNDREDNUMBERS.number
FROM
HUNDREDNUMBERS order by
HUNDREDNUMBERS.number asc LIMIT 25 ";
$QuerySuccess = mysql_query($Extract_Data, $connection);

问题是这个脚本每次都不是 100% 正确的。注意两个查询中的 ASC 和 DESC。这是尝试对数字进行排序的一种巧妙方法。

顺便说一句,HUNDREDNUMBERS 表中的一些数字有小数点。我需要两个新表 BESTQUARTER 和 WORSTQUARTER 中的数据进行进一步处理。

非常感谢任何帮助

最佳答案

您正在进行字符串比较,而这些比较遵循与数字数据类型不同的规则;我建议更改您的排序表达式:

ORDER BY CAST(HUNDREDNUMBERS.number AS UNSIGNED) DESC|ASC

如果您需要分别支持负数或 float ,您也可以使用 SIGNEDDECIMAL(M, N) 而不是 UNSIGNED .

或者(最好),您可以将 number 列更改为可以自行正确排序的类型; VARCHAR 应该主要用于文本。

关于php - 使用 php 和 mysql 对 mysql 数据库进行高级排序和搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15879380/

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