全部
我需要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/