我需要在分区表上运行查询,我想通过分区得到一个结果,如下所示:
partition result count
----------- ---------- ------
p1 apples 2
p1 oranges 3
p2 apples 10
p2 oranges 15
从官方MySQL在线文档中,如果我们有5.6或更高版本,我们可以使用 PARTITION 子句来指定从何处获取数据,但我们目前仍然坚持63年5月1日。无论表的分区方案如何,有没有一种简单的方法可以做到这一点?
答案 0 :(得分:2)
我不相信你能在MySQL 5.1中使用。
您可以解决这个问题 - 无论分区定义如何,您都可以将相同的条件添加到计数中。
例如,如果它是ID列上的范围分区,并且p1是ID< 10000,p2 ID< 20000 然后
SELECT result, partition, count(ID)
FROM
(
SELECT result, ID,
case when ID < 10000 then p1
when ID < 20000 then p2
.....
end as partition
FROM
table
) s1
GROUP BY partition, result