Blog

เทคนิคการเขียน Subqueries ง่ายๆใน SQLite

Meet Subquery Subquery คือการเขียน query ซ้อน query โดยตัวคิวรี่ที่อยู่ข้างในจะเรียกว่า “inner/ sub query” และคิวรี่ที่อยู่ด้านนอกจะเรียกว่า “outer query” วิธีสังเกตง่ายๆว่าคิวรี่ไหนเป็น subquery ให้มองหา select ที่อยู่ในวงเล็บแบบนี้ Subquery ช่วยให้เราเขียน query ที่มีความซับซ้อนขึ้น (ความคิดสร้างสรรค์กระฉูด 555+) โดยรวมหลายๆคิวรี่เข้าด้วยกันและรันทีเดียว ลำดับการรันจะเริ่มจาก inner most query ชั้นในสุดก่อนและค่อยๆไล่ออกมาชั้นนอก 👩‍💻 ถ้าใครยังไม่เคยเขียน SQL ลองอ่านบทความสอนพื้นฐานของเราได้ที่นี่ ดาวน์โหลดไฟล์ตัวอย่าง chinook.db Simple Example มาลองดูตัวอย่างแรกกันก่อน สมมติเราอยากจะรู้ชื่อเพลงที่มีขนาดใหญ่ที่สุด maximum bytes จากตาราง tracks เราต้องเขียนสอง queries โดยคิวรี่แรกใช้หา max(bytes) และนำผลลัพธ์ที่ได้ไปใส่ในคิวรี่ที่สองใน where clause เราสามารถรวมสองคิวรี่ด้านบนด้วยเทคนิค subquery ได้เลย…

Read More

ความล้มเหลวของตลาด ข้อมูลที่ลำเอียง มะนาว และลูกพีช

ทฤษฎีเศรษฐศาสตร์อธิบายความล้มเหลวของตลาดได้อย่างไร? บทความนี้แอดจะอธิบายปัญหา Asymmetric Information หนึ่งในสาเหตุของการเกิด Market Failure อ้างอิงจากเปเปอร์ต้นฉบับของ George Akerlof (1978) เป็นหนึ่งในงานวิจัยด้านเศรษฐศาสตร์ที่ได้รับการอ้างอิงถึงมากที่สุดตลอดกาล (อ้างอิงสถิติจาก Google Scholar 33629 ครั้ง) และช่วยให้ Akerlof ได้รับรางวัล Nobel Prize ร่วมกับ Michael Spence และ Joseph Stiglitz ในปี 2001 เกี่ยวกับเรื่อง Information Economics Asymmetric Information คือสถานการณ์ที่ผู้ซื้อและผู้ขายสินค้า (บริการ หรือ transaction) มีข้อมูลไม่เท่าเทียมกัน ทำให้ฝ่ายที่มีข้อมูลน้อยกว่าเสียเปรียบในการตกลงทำธุรกรรม ซึ่งแบ่งออกเป็นสามปัญหาย่อยๆ ดังนี้ Adverse Selection Moral Hazard Monopolies of Knowledge (เหมือนรัฐบาลที่เข้าควบคุมสื่อในประเทศ รู้สึกคุ้นๆ 55+) บทความนี้จะโฟกัสที่ปัญหา Adverse…

Read More

รีวิวเทคนิคการเขียน Aggregate Functions + CASE ด้วย SQL

Hello Friends! บทความนี้มาเรียนวิธีการเขียน Aggregate Functions (count, sum) ร่วมกับ CASE statement เพื่อนับหรือหาผลรวมของคอลัมน์แบบมีเงื่อนไข เขียนง่าย และมีโอกาสได้ใช้บ่อยเลยในชีวิตจริง Aggregate Functions คือฟังก์ชันคำนวณค่าสถิติง่ายๆของ SQL ตัวหลักๆที่เราใช้บ่อยๆมี 5 ตัวคือ AVG, SUM, MIN, MAX และ COUNT CASE คือการเขียนเงื่อนไขเหมือนฟังก์ชัน IF/ IFS ของ Excel Tip – เราเขียน CASE เพื่อสร้างคอลัมน์ใหม่ เช่น segments ลูกค้าเป็น high, medium, low values และใช้ SUM หรือ COUNT เพื่อหาผลรวมหรือนับจำนวน segments ในคอลัมน์นั้น Example Table สำหรับตัวอย่างในบทความนี้ เราใช้…

Read More

เปลี่ยนข้อมูล Long เป็น Wide Format ด้วย R Excel และ SQL

บทความแรกของปี 2020 วันนี้แอดมารีวิวเทคนิคการ transform ข้อมูลจาก long format เป็น wide format ง่ายๆด้วยเครื่องมือสามตัวเรียงจากง่ายสุดไปยากสุด ทั้งในด้านประสิทธิภาพและเวลาในการ execute ก่อนอื่นมาทำความรู้จักกับ long และ wide format กันก่อน ปกติเวลาเราทำงานกับข้อมูล (โดยเฉพาะ R และ Excel) เราจะนิยมข้อมูลแบบ long format มากกว่า เพราะเป็นรูปแบบที่เหมาะกับการทำงานวิเคราะห์ข้อมูล Long เหมาะสำหรับการทำ data analysis (raw data) Wide เหมาะสำหรับรายงาน สรุปผลนำเสนอข้อมูล โอเค! คราวนี้มาดูเทคนิคการเปลี่ยน long → wide format (หรือเปลี่ยนจาก wide → long) ง่ายๆด้วยภาษา R, Excel Pivot Table และ SQL…

Read More

10 คอร์สเรียนออนไลน์ยอดนิยมของ Coursera ประจำปี 2019

เมื่อเช้าแอดได้ email สรุปสถิติปี 2019 ของ Coursera เว็บไซต์ MOOCs (Massive Open Online Courses) เบอร์หนึ่งของโลก แอดเลยเขียนสรุปมาแชร์ให้อ่านกัน เผื่อใครสนใจสมัครเรียน 🙂 จำนวนนักเรียน 45 ล้านคน จำนวนคอร์สเรียน 3800 คอร์ส ปริญญาตรี/โท 16 เรียนออนไลน์ ใครขี้เกียจอ่านยาว แอดสรุปสั้นๆมาให้ตรงนี้แล้ว ปีนี้เราเห็นการเติบโตของคอร์สเรียนด้าน AI สูงมาก มีนักเรียนลงเรียนคอร์สด้าน AI/ ML สองล้านคนในปี 2019 คอร์ส AI ที่น่าลงเรียนที่สุดของปีนี้คือ AI for Everyone สอนโดย Andrew Ng สรุป AI for Everyone คอร์สเรียน AI concept สำหรับผู้เริ่มต้นสอนโดย Andrew Ng อ่านบทความ…

Read More

วิธีสร้าง Interactive Charts บนเว็บไซต์ด้วย Google Sheets

บทความนี้แอดมาสอนสร้าง interactive charts ง่ายๆด้วย Google Sheets สามารถนำไปใช้บน blog หรือ embed บนเว็บไซต์ของ WordPress ได้เลยโดยไม่ต้องใช้ plugin (สะดวกมาก!) ด้านล่างคือตัวอย่าง stacked bar chart ที่สร้างด้วย Google Sheets ภายในเวลาไม่ถึงนาที ข้อดีของ interactive charts คือ users สามารถใช้เม้าส์เลือกดู label/ score ที่ต้องการ เพิ่มความน่าสนใจให้กับการนำเสนอข้อมูลบนเว็บไซต์ของเรา ต่อไปแอดน่าจะได้ใช้ฟีเจอร์นี้บ่อยเลย 😛 How to Create Charts เปิด Google Sheets ขึ้นมา ลองใส่ข้อมูล dummy ซักสองสามคอลัมน์ กดปุ่ม CTRL+A เพื่อเลือกข้อมูลทั้งหมดแล้วคลิก Insert > Chart เสร็จแล้ว Sheets จะเลือกชาร์ทที่ดีที่สุดกับประเภทข้อมูลแบบอัตโนมัติ…

Read More