我正在尝试从现有表中获取行(按列: p_id
, e_id
, ts
, data1
, data2
, data3
)到临时表(按索引) p_id
, e_id
, ts
),然后从临时表中选择特定行作为结果。然后终止临时表(因为createtemporary就是这么做的,对吧?)
我回顾了这两篇文章:
mysql中如何将数据合并到临时表中
在select语句中创建临时表,而不使用单独的create table
并且对正确编写查询感到困惑(我的查询没有运行)。
CREATE TEMPORARY TABLE IF NOT EXISTS
pet_temp ( INDEX(p_id, e_id, ts) )
AS (
SELECT p_id, e_id, ts, data1, data2, data3
FROM processes_history
WHERE e_id=4362 AND ts BETWEEN '2017-03-01' AND '2017-04-01'
) SELECT p_id, e_id, ts, data1, data2, data3 FROM pet_temp WHERE p_id IN (11,22,33,44,55,66,77,88,99);
4条答案
按热度按时间prdp8dxp1#
看起来您只需要删除第一组(),并在语句之间添加分号。
u4dcyp6a2#
如果你以后不打算用的话,为什么还要用临时table呢?
下一个就不行了?
如果我漏了什么,请纠正我
jyztefdp3#
jtjikinw4#
您可以使用下面的查询,它将在表中给出愿望:
不需要删除临时表,它会自动删除一个会话关闭。