php查询使用"Order By .... Limit"后如何使用"Order by"?
php query how to use "Order by" after using "Order By .... Limit"?
我想在我的 php 网站上有一个排序功能,它显示 10 个最新的项目。
所以通常会显示 10 个按创建日期排序的最新商品,我想按价格对这 10 个商品进行排序。
总共有大约 100 件商品
表 1 包含 'item number'、'create date'
表 2 包含 'item number'、'price'
我首先通过连接两个表获取整个数据集,按创建日期排序,然后获取前 10 个结果作为最新项。至此,它显示了我想要的。
$sql_All_Item="SELECT * FROM table1 LEFT JOIN table12 ON table1.ITEM_NO = table2.ITEM_NO ORDER BY table1.Create_Date DESC LIMIT 10";
但我不知道如何在此查询中为另一个 'order by' 设置排序函数以获取最新的 10 件商品并显示这 10 件商品的降价或升价。
您需要嵌套查询,并在外部查询中进行最终排序:
SELECT *
FROM (
SELECT * -- better enumerate the columns here than use "*"
FROM table1 t1 -- table aliases make the query easier to write and read
LEFT JOIN table2 t2 ON t1.ITEM_NO = t2.ITEM_NO
ORDER BY t1.Create_Date DESC
LIMIT 10
) t
ORDER BY price desc
我想在我的 php 网站上有一个排序功能,它显示 10 个最新的项目。
所以通常会显示 10 个按创建日期排序的最新商品,我想按价格对这 10 个商品进行排序。
总共有大约 100 件商品
表 1 包含 'item number'、'create date'
表 2 包含 'item number'、'price'
我首先通过连接两个表获取整个数据集,按创建日期排序,然后获取前 10 个结果作为最新项。至此,它显示了我想要的。
$sql_All_Item="SELECT * FROM table1 LEFT JOIN table12 ON table1.ITEM_NO = table2.ITEM_NO ORDER BY table1.Create_Date DESC LIMIT 10";
但我不知道如何在此查询中为另一个 'order by' 设置排序函数以获取最新的 10 件商品并显示这 10 件商品的降价或升价。
您需要嵌套查询,并在外部查询中进行最终排序:
SELECT *
FROM (
SELECT * -- better enumerate the columns here than use "*"
FROM table1 t1 -- table aliases make the query easier to write and read
LEFT JOIN table2 t2 ON t1.ITEM_NO = t2.ITEM_NO
ORDER BY t1.Create_Date DESC
LIMIT 10
) t
ORDER BY price desc