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

标签 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_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

好吧,我的问题是我想将具有相同值的行分组到 ma​​rket_details_idcommodity_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/

相关文章:

mysql - 使用php从MySQL表中输出一次数据

mysql - Unicode CSV 文件中未显示孟加拉语文本

sql - SQL中计算百分比的简单方法是什么?

java - GWT 中的 hibernate 错误

android - 计算多个值出现的次数

mysql - 如何选择SQL数据库表中的第n行?

java - 从列表到整数。无法转换查询结果

php 按 2 或 3 列对数组进行排序,然后再次混合一下

sql - 你能做一个 ELSE WHEN 吗?

c# - 在 C# 中的 linq-sql 连接查询上有多个 Id