Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

SQL Query, Rata-rata naik dan pasangan yang telah naik paling banyak puncak

Pertanyaan 1:Untuk jumlah total perjalanan (termasuk setiap kali puncak didaki)

SELECT t1.sex, AVG(t1.peak_count) AS average
FROM
    (SELECT sex, COUNT(trip_id) AS peak_count
     FROM climber c LEFT JOIN  participated p ON c.name = p.name GROUP BY c.name, c.sex) t1

Untuk setiap kali puncak UNIK didaki:

SELECT t1.sex, AVG(t1.peak_count) AS average
FROM
    (SELECT sex, COUNT(trip_id) AS peak_count
     FROM climber c LEFT JOIN  participated p ON c.name = p.name GROUP BY c.name, c.sex) t1

Pertanyaan 2:

SELECT P1.Name, P2.Name, COUNT(DISTINCT p1.trip_id) AS trips
FROM participated p1 INNER JOIN  participated p2 ON p1.trip_id = p2.trip_id
WHERE p1.name > p2.name -- > instead of <> gets only one of the pairs
GROUP BY P1.Name, P2.Name 
HAVING COUNT(DISTINCT p1.trip_id) > 0
ORDER BY trips DESC

Pertanyaan 3:

SELECT p.name, cl.when AS span_begin_date, DATEADD(day, 60, cl.when) AS span_end_date, count(c2.trip_id) AS peaks
FROM climbed cl LEFT JOIN 
climbed c2 ON c2.when BETWEEN cl.when AND DATEADD(day, 60, cl.when)
GROUP BY p.name, cl.when, DATEADD(day, 60, cl.when)
HAVING COUNT(c2.trip_id) > 20
ORDER BY peaks


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kembalikan Nama Bulan Pendek dari Tanggal di Oracle

  2. tanggal sebagai nama kolom

  3. Permintaan untuk menemukan Karyawan yang telah mengambil lebih dari cuti yang memenuhi syarat sehubungan dengan Peran Pekerjaan mereka

  4. Mengapa waktu eksekusi prosedur tersimpan Oracle sangat meningkat tergantung pada cara eksekusinya?

  5. Pengurangan Tanggal Oracle