我正在寻找存储查询的结果,该查询返回特定列中所有唯一值的列表,以及它们重复的次数:
SELECT col_name, COUNT(*) AS 'total' FROM dataTable GROUP BY col_name;
这会返回类似:
col_name
- 记录A
- 记录B
- 记录C
- 记录D
- 记录E...
全部的
- 39
- 91817
- 982027
- 211872
- 256...
它工作得很好,正是我需要的。但是我需要将结果存储到另一个表中(例如countTable
),所以我不必每次都进行查询,可以索引它......等等。
假设countTable
与此处的结果具有完全相同的结构。两列:name
并且count
与原始结果的类型相同。
这可能会引起一些笑声,但目前我觉得这很接近:
INSERT INTO countTable (name, count) SELECT col_name, total FROM
(SELECT col_name, COUNT(*) AS 'total' FROM dataTable GROUP BY col_name);
但我收到一个错误:ERROR 1248 (42000): Every derived table must have its own alias
我不知道如何正确包装这个查询,或者我是否应该使用另一个AS
某个地方使用另一个?
非常感谢任何帮助!谢谢