SQL Case Order By specific order

后端 未结 3 1846
广开言路
广开言路 2021-01-20 16:00

Ok, I asked something similar before, but I\'ve researched it and haven\'t found this specifically. I have a table that I need sorted on fields OptionName(NVarChar) and IsAc

相关标签:
3条回答
  • 2021-01-20 16:32

    try,

    ORDER BY CASE WHEN PortalName = 'Company, Inc' THEN 0 
                  WHEN PortalName = 'Setup' THEN 1 
                  WHEN PortalName = 'Daily Routine' THEN 2 
                  WHEN IsActive = 1 THEN 3 
                  WHEN PortalName = 'Master Option' THEN 4 
             ELSE 5 END,
             PortalName ASC
    
    0 讨论(0)
  • 2021-01-20 16:35

    consider each part of the order by as a different column... Apply a case to each component. Get the first part first... then the second part. If it doesn't apply to the second part, just have it always the same value... something like...

    ORDER BY 
      CASE WHEN PortalName = 'Company, Inc' THEN 1
           WHEN PortalName = 'Setup' THEN 2
           WHEN PortalName = 'Daily Routine' THEN 3
           WHEN PortalName = 'Master Option' THEN 4 ELSE 5 END,
      CASE WHEN IsActive = 1 THEN 1 ELSE 2 END,
      PortalName ASC
    
    0 讨论(0)
  • 2021-01-20 16:48

    Got an answer: CASE WHEN PortalName = 'Master Option' THEN 9999 ELSE 5 END

    0 讨论(0)
提交回复
热议问题