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

SQL bukan fungsi grup grup tunggal

Nah masalahnya sederhananya adalah bahwa SUM(TIME) untuk SSN tertentu pada kueri Anda adalah nilai tunggal, jadi itu menolak MAX karena tidak masuk akal (Maksimum satu nilai tidak ada artinya).

Tidak yakin server database SQL apa yang Anda gunakan, tetapi saya menduga Anda menginginkan kueri lebih seperti ini (Ditulis dengan latar belakang MSSQL - mungkin perlu beberapa terjemahan ke server sql yang Anda gunakan):

SELECT TOP 1 SSN, SUM(TIME)
FROM downloads
GROUP BY SSN
ORDER BY 2 DESC

Ini akan memberi Anda SSN dengan total waktu tertinggi dan total waktu untuk itu.

Sunting - Jika Anda memiliki banyak dengan waktu yang sama dan menginginkan semuanya, Anda akan menggunakan:

SELECT
SSN, SUM(TIME)
FROM downloads
GROUP BY SSN
HAVING SUM(TIME)=(SELECT MAX(SUM(TIME)) FROM downloads GROUP BY SSN))


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengetahui apakah database Oracle diatur ke komit otomatis?

  2. Perlu Oracle SQL untuk membagi rentang tanggal/waktu berdasarkan hari

  3. Bagaimana cara mendapatkan kunci yang dihasilkan dari sisipan batch JDBC di Oracle?

  4. Jika pernyataan dalam klausa Where

  5. Buat pengguna dengan semua hak istimewa di Oracle