全部

我需要SQL的帮助。我有两个SQL查询:

第一个计算某个条件发生了多少次:

SELECT COUNT(*)
FROM table1
WHERE condition1 = @condition


第二个选择在与辅助表连接的同一表上匹配相同条件的每一行:

SELECT *
FROM table1 INNER JOIN table2
ON table2.id = table1.id_sub
WHERE condition1 = @condition


以交互方式(通过代码)使用这两个查询,我可以获得所需的结果,但是我想使用SQL功能而不是编码来优化过程。

我真正需要的是一个查询,该查询针对与condition1匹配的每组行仅报告一行。
我还需要将匹配行的计数作为结果行的字段插入。

我正在运行MySQL 5.6,并通过C#(使用MySQL.Data包)通过Visual Studio 2013 Pro编码对应用程序进行编码。

最好的祝福,
 怪人吉恩

最佳答案

您需要做的只是GROUP BY condition1字段。看来,如果只需要COUNT按组,则不需要联接。

SELECT condition1, COUNT(*)
FROM table1
--INNER JOIN table2
--    ON table1.id_sub = table2.id
GROUP BY condition1

关于mysql - MySQL中的SQL分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27988848/

10-11 07:43