作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
查询
SELECT DISTINCT code, hour(datetime), sum(price)
FROM something
ORDER BY code;
我有一个包含 3 列的结果表 code
、hour
、sum
。
我希望拥有与不同code
一样多的表。
一个代码 = 一个表,每个表包含“代码”(在表中相同)、“小时”和“总和”。
谢谢。
编辑 1:
感谢您的每一个回复。我不想 UNION 表,一点也不想。
@Gordon Linoff:我忘了说它是用于分析数据库 (Infinidb) 的,所以我知道这不是关系数据库的正确方法。
我想这样做以避免有很多查询。 (一次查询比多次查询更快)
我有什么:
我想要的:(不是每个表,只是为了展示)
最佳答案
首先,您的查询应该更恰本地写成:
SELECT code, hour(datetime), sum(price)
FROM something
GROUP BY code, hour(datetime)
ORDER BY code;
如果您希望每个代码都有一个单独的结果表,则需要单独创建这些表。基本语句是:
CREATE TABLE table_code1 as
SELECT code, hour(datetime) as hour, sum(price) as price
FROM something
WHERE code = 'code1'
GROUP BY hour(datetime);
您需要将其放入所有代码的循环中,并为代码使用准备好的语句。
但是,我真的想不出您想要这个的充分理由。直接使用查询或将所有代码摘要放在一个表中更有意义。事实上,数据库中有多个具有相同结构的表通常是数据库设计不佳的标志。
关于mysql - 将查询中的表拆分为多个表(使用 "DISTINCT"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24695962/
我是一名优秀的程序员,十分优秀!