2
我需要SQL(MSSQL)方面的帮助,在这里我按多个布尔类型进行排序,以便对结果进行分组,但也需要按每个类型分组中的日期字段进行排序。SQL Sorting in Groupings
下面的SQL看似工作正常:
Select * from staff ORDER BY admin DESC, hr DESC, sales DESC, it DESC, updated DESC
诀窍是,一些记录已超过1种类型选择,然后输出得到弄糟。我只需要在一个分组中显示工作人员,但他们应该按每个分组内的更新的DESC排序。
这是输出我得到:
Name updated admin hr sales it
-------------------------------------------
fred 2012/04/01 true true
bill 2011/10/01 true true
joe 2012/04/01 true
sam 2012/03/01 true
jo 2012/02/01 true
beth 2012/03/01 true
mary 2012/02/01 true
harry 2011/02/01 true true
gary 2012/04/01 true
bruce 2012/04/01 true
这是输出,我需要
Name updated admin hr sales it
-------------------------------------------
fred 2012/04/01 true true
joe 2012/04/01 true
sam 2012/03/01 true
jo 2012/02/01 true
bill 2011/10/01 true true
beth 2012/03/01 true
mary 2012/02/01 true
gary 2012/04/01 true
harry 2011/02/01 true true
bruce 2012/04/01 true
希望是有道理的。
何时两行属于同一组?如果它们属于同一组,如果它们对于所有列“admin”,“hr”,“sales”和“it”具有相同的值,那么我不明白为什么第一个结果是错误的 - “fred”和“账单“是他们小组中唯一的两名成员,他们正确地排序... – MiMo 2012-04-25 11:15:32
对不起,但我不明白你想要使用的逻辑,为了乔,山姆和乔出现在fred和账单在输出中。你能进一步解释吗? – 2012-04-25 11:15:41
@MiMo,fred,bill,joe,sam和jo都是管理员组的成员,应该对其进行排序更新DESC,但它们不是,因为fred和bill也在hr组中。安东尼的答案解决了这个问题。 – Schliden 2012-04-25 15:47:41