Php 请提供一个示例查询,如何在查询中使用2个条件按描述订购?
如果有3条记录的金额不同,分别为500、1000和1500,那么默认查询将类似于DESC的金额顺序,第二个条件是有一个类似“移到顶部”的按钮,如果500金额用户单击按钮,则该记录将移到顶部,下一条记录应显示金额,如1500、1000 如果单击“移动到顶部”按钮,则当前日期将存储在“单击日期”列中,我使用的只是默认金额描述查询 移到桌面上Php 请提供一个示例查询,如何在查询中使用2个条件按描述订购?,php,mysql,Php,Mysql,如果有3条记录的金额不同,分别为500、1000和1500,那么默认查询将类似于DESC的金额顺序,第二个条件是有一个类似“移到顶部”的按钮,如果500金额用户单击按钮,则该记录将移到顶部,下一条记录应显示金额,如1500、1000 如果单击“移动到顶部”按钮,则当前日期将存储在“单击日期”列中,我使用的只是默认金额描述查询 移到桌面上 id name amount clickdate ------------------------------------
id name amount clickdate
----------------------------------------------------
1 test 500 2017-02-04 07:25:00
2 test2 1000 2017-02-02 11:18:42
3 test3 1500 2017-02-01 03:26:07
查询:
SELECT *
FROM `move_top`
ORDER BY clickdate DESC, amount DESC
但它不能正常工作不幸的是,mysql无法“理解”您需要的逻辑。如果您按clickdate DESC、amount DESC下单,则它将首先按clickdate下单,如果clickdate相同,则它将按金额下单
指向所需结果的工作区域(当用户单击“移动到顶部”时):
我今天已经看到了这个问题……当你使用
orderbyx,y
时,它的意思是按x
排序,但是如果两行的x
相同,那么你就按y
排序。因为你所有的行都有不同的日期,orderby
中的第二个条件没有效果。我不明白你想做什么。请做一个结果示例他们向我们展示你的最终目标是什么,我们可以理解你需要做什么:)
SELECT * FROM `move_top` WHERE id = {id_that_user_have_clicked}
UNION
SELECT * FROM `move_top` ORDER BY amount DESC