如何使用Mysql为单个查询中的两个字段生成Order by语句,其中一个字段需要DESC,另一个字段需要ASC?
我想做一个查询,通过使用两列按顺序给出结果。 我这样问如何使用Mysql为单个查询中的两个字段生成Order by语句,其中一个字段需要DESC,另一个字段需要ASC?,sql,mysql,Sql,Mysql,我想做一个查询,通过使用两列按顺序给出结果。 我这样问 select el.*, lb.LabName,lb.LabType, lb.LabDescription from encounterlab el INNER JOIN labs lb ON lb.LabType=el.LabType where PatientAcctNo=4 ORDER BY el.DataOfService,lb.LabName DESC 它给出了结果。
select
el.*,
lb.LabName,lb.LabType,
lb.LabDescription
from encounterlab el
INNER JOIN
labs lb
ON
lb.LabType=el.LabType
where
PatientAcctNo=4 ORDER BY el.DataOfService,lb.LabName DESC
它给出了结果。但我的目标是,如果DataOfService中包含的日期与我想根据LabName进行排序的日期相同,并且这应该是ASC,您可以选择在Order by语句中指定每个字段的顺序
ORDER BY field1 DESC, field2 ASC
您可以选择在ORDERBY语句中指定每个字段的顺序
ORDER BY field1 DESC, field2 ASC
如果我理解正确,您当前的查询顺序与您想要的方向相反(对于两列!)。升序(
ASC
)是隐式的,并且每个列都有一个方向。所以你的例子是:
ORDER BY el.DataOfService,lb.LabName DESC
同:
ORDER BY el.DataOfService ASC, lb.LabName DESC
所以你想要的是:
ORDER BY el.DataOfService DESC, lb.LabName
如果我理解正确,您当前的查询顺序与您想要的方向相反(对于两列!)。升序(
ASC
)是隐式的,并且每个列都有一个方向。所以你的例子是:
ORDER BY el.DataOfService,lb.LabName DESC
同:
ORDER BY el.DataOfService ASC, lb.LabName DESC
所以你想要的是:
ORDER BY el.DataOfService DESC, lb.LabName
谢谢zolex。工作正常。还有一个疑问,我们可以订购n列,对吗?谢谢zolex。工作正常。还有一个疑问,我们可以订购n列,对吗?