Kueri SQL yang lebih kompleks

Pemasukan Data yang Efisien dengan pandas

Amany Mahfouz

Instructor

Mendapatkan Nilai DISTINCT

  • Dapatkan nilai unik untuk satu atau lebih kolom dengan SELECT DISTINCT
  • Sintaks:
    SELECT DISTINCT [column names] FROM [table];
    
  • Hapus duplikat baris:
    SELECT DISTINCT * FROM [table];
    
/* Dapatkan alamat jalan dan borough unik */
SELECT DISTINCT incident_address, 
       borough
  FROM hpd311calls;
Pemasukan Data yang Efisien dengan pandas

Fungsi Agregat

  • Kueri basis data langsung untuk statistik deskriptif
  • Fungsi agregat
    • SUM
    • AVG
    • MAX
    • MIN
    • COUNT
Pemasukan Data yang Efisien dengan pandas

Fungsi Agregat

  • SUM, AVG, MAX, MIN
    • Masing-masing menerima satu nama kolom
      SELECT AVG(tmax) FROM weather;
      
  • COUNT
    • Dapatkan jumlah baris yang memenuhi kondisi kueri
      SELECT COUNT(*) FROM [table_name];
      
    • Dapatkan jumlah nilai unik dalam kolom
      SELECT COUNT(DISTINCT [column_names]) FROM [table_name];
      
Pemasukan Data yang Efisien dengan pandas

GROUP BY

  • Secara default, fungsi agregat menghitung satu statistik ringkas
  • Rangkum data per kategori dengan GROUP BY
  • Ingat juga untuk memilih kolom yang digunakan untuk pengelompokan!
/* Hitung jumlah panggilan pipa per borough */
SELECT borough, 
       COUNT(*) 
  FROM hpd311calls
 WHERE complaint_type = 'PLUMBING'
 GROUP BY borough;
Pemasukan Data yang Efisien dengan pandas

Menghitung per Grup

# Create database engine
engine = create_engine("sqlite:///data.db")

# Write query to get plumbing call counts by borough query = """SELECT borough, COUNT(*) FROM hpd311calls WHERE complaint_type = 'PLUMBING' GROUP BY borough;"""
# Query databse and create dataframe plumbing_call_counts = pd.read_sql(query, engine)
Pemasukan Data yang Efisien dengan pandas

Menghitung per Grup

print(plumbing_call_counts)
         borough  COUNT(*)
0          BRONX      2016
1       BROOKLYN      2702
2      MANHATTAN      1413
3         QUEENS       808
4  STATEN ISLAND       178
Pemasukan Data yang Efisien dengan pandas

Ayo berlatih!

Pemasukan Data yang Efisien dengan pandas

Preparing Video For Download...