在MySQL中,可以使用GROUP BY子句对数据进行分组。但是,如果要按照数据而不是个别进行分组,可以使用子查询或窗口函数来解决。
以下是使用子查询的示例代码:
SELECT *
FROM your_table
WHERE (column1, column2, ...) IN (
SELECT column1, column2, ...
FROM your_table
GROUP BY column1, column2, ...
HAVING COUNT(*) > 1
)
以上代码首先在子查询中按照需要的列进行分组,并筛选出满足条件(例如数量大于1)的组。然后,将这些组作为条件在主查询中进行筛选,以获取满足条件的所有行。
以下是使用窗口函数的示例代码:
SELECT *
FROM (
SELECT *,
COUNT(*) OVER (PARTITION BY column1, column2, ...) AS count
FROM your_table
) subquery
WHERE count > 1
以上代码使用窗口函数COUNT(*) OVER (PARTITION BY column1, column2, ...)计算每个分组的数量,并将结果存储在名为count的列中。然后,主查询筛选出满足条件(例如数量大于1)的行。
这些示例代码是一种按照数据而不是个别进行分组的解决方法,根据具体情况可能需要调整列名和条件。
下一篇:按数据分组类型的形状气泡图。