确实,
我需要一些关于 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 功能而不是编码来优化过程。
我真正需要的是一个查询,它只为匹配条件1的每组行报告一行。 我还需要插入匹配行的计数作为结果行的字段。
我正在运行 MySQL 5.6,并通过 Visual Studio 2013 Pro 用 C# 编码(使用 MySQL.Data 包)来编写应用程序。
最诚挚的问候, 怪异妇产科
最佳答案
您所需要做的就是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/