【发布时间】:2012-09-23 11:21:14
【问题描述】:
我像这样计算多列中的值:
SELECT COUNT(column1),column1 FROM table GROUP BY column1
SELECT COUNT(column2),column2 FROM table GROUP BY column2
SELECT COUNT(column3),column3 FROM table GROUP BY column3
这例如返回 column1 array(attr1 => 2000, attr2 => 3000...) (每列都有特定的值和少数值)。问题是我的应用程序中的“表”可能是一个带有一些连接和 where 子句的查询,这可能需要 0.1 秒。通过做所有这些计算,“表”每次都会重新计算,这是不必要的。有什么方法可以通过一个查询获取我想要的结果,或者“缓存”生成表的查询?否则我相信非规范化将是这里唯一的解决方案。我想要与上述查询相同的结果。我正在使用 mysql-myisam。
【问题讨论】:
-
同一张表的每一列的行数如何不同?
-
您可以将查询结果存储在临时表中吗?
标签: sql database count group-by