Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara menggunakan group by dalam kueri SQL Server?

Secara umum, setelah Anda memulai GROUPing, setiap kolom yang terdaftar di SELECT Anda harus berupa kolom di GROUP Anda atau gabungan darinya. Katakanlah Anda memiliki tabel seperti ini:

| ID | Name        | City        |
|  1 | Foo bar     | San Jose    |
|  2 | Bar foo     | San Jose    |
|  3 | Baz Foo     | Santa Clara |

Jika Anda ingin mendapatkan daftar semua kota di database Anda, dan mencoba:

SELECT * FROM table GROUP BY City

...itu akan gagal, karena Anda meminta kolom (ID dan Nama) yang tidak ada dalam klausa GROUP BY. Sebagai gantinya, Anda dapat:

SELECT City, count(City) as Cnt FROM table GROUP BY City

...dan itu akan membuat Anda:

| City        | Cnt |
| San Jose    |  2  |
| Santa Clara |  1  |

...tapi TIDAK akan memberi Anda ID atau Nama. Anda dapat melakukan hal-hal yang lebih rumit dengan mis. subselect atau self-join, tetapi pada dasarnya apa yang Anda coba lakukan tidak mungkin seperti yang dinyatakan. Uraikan masalah Anda lebih lanjut (seperti apa tampilan data yang Anda inginkan?), dan mulai dari sana.

Semoga berhasil!



  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 memulihkan database dari C#

  2. Memilih Prosesor untuk SQL Server 2014 – Bagian 1

  3. Memperbarui Penyedia Data Crystal Reports

  4. Menggunakan JDBC ketika nama server berisi garis miring terbalik (localhost\TESTDATA)

  5. Demystifying CXPACKET dan CXCONSUMER menunggu jenis di SQL Server