我不是很喜欢SQL而且我有以下问题。
我必须实现一个简单的SELECT查询,将所有记录的列表返回到表中,这很简单:
SELECT
MD_CD.id,
MD_CD.market_details_id,
MD_CD.commodity_details_id
FROM MarketDetails_CommodityDetails AS MD_CD
返回类似:
id market_details_id commodity_details_id
--------------------------------------------------------------
177 13 41
178 12 43
179 12 13
180 12 11
181 12 38
182 12 39
183 12 40
184 12 42
185 12 42
好的我的问题是我想将具有相同值的行分组到 market_details_id 和 commodity_details_id 。我还想添加这些行数的计数器。
因此,例如,考虑到我想要的最后两行,这些行被分组在一行中,我想要一个包含值2的新计数器恶魔(因为我有2行具有这两个字段的相同值)。
所以我认为我想获得这样的东西:
market_details_id commodity_details_id counter
------------------------------------------------------------------------------
13 41 1
12 43 1
12 13 1
12 11 1
12 38 1
12 39 1
40 40 1
12 42 2
如何在查询中实现此行为?
答案 0 :(得分:2)
SELECT
COUNT(MD_CD.id) As Counter,
MD_CD.market_details_id,
MD_CD.commodity_details_id
FROM MarketDetails_CommodityDetails AS MD_CD
GROUP BY MD_CD.market_details_id, MD_CD.commodity_details_id