SQL 쿼리 결과를 배열로 푸시하려고 합니다. 그러나 작동하지 않는 것 같습니다. 온라인에서 해결책을 찾을 수 없습니다. 누구든지 이 문제를 해결하는 데 도움을 줄 수 있다면 매우 감사하겠습니다.
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 }); } }); } }); } });
단일 쿼리를 사용하여 MySql DB에서 데이터를 가져올 수 있습니다
으아악이렇게 하면 js 코드에서 내부 비동기 메서드가 제거됩니다.