我正在使用ajax根据视图将更多照片提取到画廊。画廊已经展示了10张照片。现在,我想根据观看次数从高到低依次获取下10张照片。
$last_image_view_count = 232;
"SELECT * from `gallery` ORDER BY CAST(`views`<'$last_image_view_count' AS SIGNED) DESC LIMIT 10";
上面的代码有效...但是顺序不正确(230-216-205等)。它分散但在232以下。我需要帮助弄清楚如何按从高到低的顺序获取它。
最佳答案
"SELECT * from `gallery` WHERE `views` < '$last_image_view_count' ORDER BY `views` DESC LIMIT 10";
使用WHERE语句仅选择所需的数据集(据我了解,您想要的那些数据,其查看计数小于
$last_image_view_count
)。然后可以通过
views
列对其进行排序。无需将其强制转换为ORDER BY语句。您对代码执行的操作是按
1
或0
对其进行排序(如果视图小于您的变量,则为1,否则为0)。关于php - 想要按订单订购,但要物有所值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24445381/