Mysql 如果字段具有相同的值,如何实现对输出进行分组的SQL查询并添加新的计数器字段?

Mysql 如果字段具有相同的值,如何实现对输出进行分组的SQL查询并添加新的计数器字段?,mysql,sql,database,rdbms,Mysql,Sql,Database,Rdbms,我不太喜欢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

我不太喜欢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
好的,我的问题是,我想将具有相同值的行分组到市场详细信息\u id商品详细信息\u id。我还想添加这些行数的计数器

例如,考虑到最后两行,我希望将这些行分组在一行中,并且我希望一个新的计数器恶魔包含值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 

如何在查询中实现此行为?

提示:
groupby
。如果答案不是那么简单,您还应该在问题中包含您想要的结果。Group by子句和一个新列count(*)提示:
Group by
。如果答案不是那么简单,您还应该在问题中包含您想要的结果。Group by子句和一个新列count(*)Ok,它可以工作…我尝试在这个查询的末尾添加一个WHERE Counter>1(以过滤查询结果),但它不起作用。我该如何解决这个问题?因为使用您解释的WHERE子句,我得到了这个错误:“#42S22Unknown column‘counter’in‘WHERE子句’”好的,它工作了……我尝试在这个查询的末尾添加一个WHERE counter>1(以过滤查询结果),但它不工作。我如何解决这个问题?因为使用您所解释的WHERE子句,我会得到以下错误:“#42S22未知列‘WHERE子句’中的‘counter’”
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