【发布时间】:2016-02-09 18:55:53
【问题描述】:
我在 MSSQL 中有下表和数据(例如简化)。
---------
|id|Data|
---------
|1 |XOO |
|2 |OXO |
|3 |OOX |
|4 |XOO |
|5 |OXO |
|6 |OOX |
|7 |XXX |
|8 |OOO |
(数据行 1、2、3 在 4、5、6 处再次重复。7 和 8 再次是唯一的。 我想使用 count 和 group by 检索以下内容:
------------ (desired result)
|Count|Data|
------------
|2 |XOO |
|2 |OXO |
|2 |OOX |
|1 |XXX |
|1 |OOO |
顺序(id)非常重要。当我运行以下查询时,我可以获得计数值,但顺序似乎混乱。
SELECT COUNT ([Data]) AS Count, [Data]
FROM [MyTable] GROUP BY [Data]
------------ (incorrect result with wrong order)
|Count|Data|
------------
|2 |XOO |
|1 |OOO |
|2 |OOX |
|1 |OXO |
|1 |XXX |
这与查询或表结构有关?
【问题讨论】:
-
将 min(id) 添加到您的选择和使用它的订单中
-
确实.. 看起来就这么简单。谢谢!我可以选择这个作为答案吗?
-
@JamesZ 您可以通过表达式进行排序,而无需在您的
SELECT中。
标签: sql sql-server tsql group-by sql-order-by