首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将SQL查询结果推送到节点js中的数组。

问无法将SQL查询结果推送到节点js中的数组。
EN

Stack Overflow用户
提问于 2022-09-29 07:37:48
回答 1查看 40关注 0票数 1

我试图将SQL查询的结果推送到数组中。然而,它似乎不起作用。我在网上找不到解决办法。如果有人能帮我,我会非常感激的。

代码语言:javascript
复制
        let data = [];
        connection.query("SELECT DISTINCT referer FROM publisher", (error, results) => {
        if (error) {
            console.log(error);
        } else {
            results.forEach(async (result) => {
                let referer = result.referer;
                let today = new Date();
                for (let i = 0; i < 24; i++) {
                    let hour = i;
                    let start = new Date(today);
                    start.setHours(hour, 0, 0, 0);
                    let end = new Date(today);
                    end.setHours(hour, 59, 59, 999);
                    connection.query("SELECT COUNT(*) AS count FROM publisher WHERE referer = ? AND first_seen >= ? AND first_seen <= ?", [referer, start, end], (error, results) => {
                        if (error) {
                            console.log(error);
                        } else {
                            let count = results[0].count;
                            data.push({
                                referer: referer,
                                hour: hour,
                                count: count
                            });
                        }
                    });
                }
            });
        }
    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-29 08:34:28

您可以尝试使用单个查询从MySql DB获取数据。

代码语言:javascript
复制
select referer, hour(first_seen) h, count(*) n
from publisher
where date(first_seen) = curdate()
group by referer, hour(first_seen)
order by referer, hour(first_seen)

这样就消除了js代码中的内部异步方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73891887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档