사전캠프 10일차
게임서버 개발 부트캠프
TIL(Today I Learned) - 오늘의 공부
[왕초보] 웹개발 종합반 4주차를 수강했다
- FireBase의 정의 및 세팅 방법!
// Firebase SDK 라이브러리 가져오기
import { initializeApp } from "https://www.gstatic.com/firebasejs/9.22.0/firebase-app.js";
import { getFirestore } from "https://www.gstatic.com/firebasejs/9.22.0/firebase-firestore.js";
import { collection, addDoc } from "https://www.gstatic.com/firebasejs/9.22.0/firebase-firestore.js";
import { getDocs } from "https://www.gstatic.com/firebasejs/9.22.0/firebase-firestore.js";
// Firebase 구성 정보 설정 < 프로젝트 설정 구성에 있는 코드다
const firebaseConfig = {
본인 설정 내용 채우기
};
// Firebase 인스턴스 초기화
const app = initializeApp(firebaseConfig);
const db = getFirestore(app);
- FireBase 에 값을 저장 및 가져오는 방법!
//데이터 정보를 저장하기
$("#id").click(async function () {
let doc = {};
await addDoc(collection(db, "콜렉션이름"), doc);
})
//데이터 정보를 가져오기
let docs = await getDocs(collection(db, "콜렉션이름"));
docs.forEach((doc) => {
let row = doc.data();
console.log(row);
});
노션 퀘스트 SQL 실전! 과제 Lv3. 까지 수행
- Lv.4 단골 고객님 찾기
-
고객별로 주문 건수와 총 주문 금액을 조회하는 SQL 쿼리를 작성해주세요.
SELECT c.CustomerName , COUNT(o.CustomerID) OrderCount , SUM(o.TotalAmount) TotalSpent FROM customers c LEFT JOIN orders o ON c.CustomerID = o.CustomerID GROUP BY 1
-
나라별로 총 주문 금액이 가장 높은 고객의 이름과 그 고객의 총 주문 금액을 조회하는 SQL 쿼리를 작성해주세요.
SELECT c.Country , c.customerName Top_Customer , SUM(o.TotalAmount) TotalSpent FROM customers c LEFT JOIN orders o ON c.CustomerID = o.CustomerID GROUP BY 1, 2 HAVING (c.Country, SUM(o.TotalAmount)) IN ( SELECT Country , MAX(TotalSpent) FROM ( SELECT c.Country , c.CustomerName , SUM(o.TotalAmount) TotalSpent FROM customers c LEFT JOIN orders o ON c.CustomerID = o.CustomerID GROUP BY 1, 2 ) a GROUP BY 1 )
TIL(Today I Learned) - 학습 과정 중 특이사항
-
블로그를 포스트가 안올라 갈때마다 여러 방법으로 코드를 수정하면서 적용하느라 시간이 많이 지나갔는데,
어이없게도 게시 일의 “시간”이 “현재 시간”보다 크면 안돼는 오류였다.. -
이번 SQL 문제를 풀면서 CSV 파일을 테이블에 올리기 위해 MySQL 을 설치하고 세팅하는 방법 터득했다.
-
SQL 문제를 풀 때 HAVING 함수를 이용하는 제약으로 2번째 문제를 푸는데 오래 걸렸다.
(멀티 컬럼 서브 쿼리를 이용하여 비교하는 방법을 알게 되었다.)