我不太喜欢 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 的新计数器 fiend(因为我有 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
如何在查询中实现此行为?
最佳答案
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
关于mysql - 如果字段具有相同的值并添加新的计数器字段,如何实现对输出进行分组的 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50565499/