如何使一个查询中的两个字段的Order by语句和一个字段需要DESC,并且一个字段需要使用Mysql的ASC?

如何使一个查询中的两个字段的Order by语句和一个字段需要DESC,并且一个字段需要使用Mysql的ASC?

问题描述:

我想做一个查询,将通过使用两列给订单结果。 我做了这样的查询。如何使一个查询中的两个字段的Order by语句和一个字段需要DESC,并且一个字段需要使用Mysql的ASC?

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 

它给人的results.But我的目标是,如果在DataOfService包含相同的日期我要让取决于LabName订单,这应该是ASC

可以选择指定的顺序通过声明

ORDER BY field1 DESC, field2 ASC 
+0

谢谢zolex.Working Fine.One更多疑问,这样我们就可以订购n列的权利? – svk 2010-08-06 09:34:27

+0

是的,你可以用尽可能多的颜色来做到这一点 – 2010-08-06 09:56:39

如果我理解正确的顺序每个单场,在你想要的方向相反的当前查询的订单(两列!)。升序排列(ASC)是隐含的,并且您总是按照您排序的每列指示方向。所以,你的例子:

ORDER BY el.DataOfService,lb.LabName DESC 

是一样的:

ORDER BY el.DataOfService ASC, lb.LabName DESC 

所以,你要的是这样的:

ORDER BY el.DataOfService DESC, lb.LabName