【发布时间】:2019-04-08 20:16:11
【问题描述】:
我的查询如下所示:
SELECT MAX(x.id) as id,
x.name, x.timestamp, x.balance
FROM sheet x
JOIN
(SELECT p.name,MAX(id) AS max_id, p.rate
FROM sheet p GROUP BY p.name) y
ON y.max_id = x.id
GROUP BY x.name
查询仅 IN(动态)的名称的最佳做法是什么:
array= ['flake', 'shane', 'klar']
我用不同的 join() 状态尝试了这样的事情,但徒劳无功:
WHERE x.name IN (' + array.join() + ')
【问题讨论】:
-
这个查询可能会被优化。您能否提供样本数据和预期结果?另外,您使用的是哪个版本的 MySQL?
-
在选择字段列表中没有用处,字段不存在于 group by 子句中。 MySql 无法识别此错误(获取组的第一行),但在其他情况下(DBMS)您的查询是错误的。
-
@JoeTaras。您能否更具体地告诉我主要查询(在 where 语句之前)有什么问题?我是初学者,查询似乎可以满足需求,但需要添加数组的WHERE语句。
-
@mediaroot:请添加示例数据和您想要的结果集(正如 GMB 在他的评论中建议的那样),以便我们为您提供帮助
标签: javascript mysql node.js