2012-02-18 22 views
24

Access veritabanı tablom 2 sütuna sahiptir: ad ve fiyat. En iyi 10 en yüksek fiyatı seçen bir sorgu yapmak istiyorum. Bu nasıl yapılır? Teşekkürler.Access sorgusunda ilk 10 nasıl seçilir?

+4

Welcome StackOverflow'daki için. Soruların nasıl sorulacağını öğrenmek için lütfen [FAQ] 'a (http://stackoverflow.com/faq) bakın. Bu 'bana Codez ver' sitesi değildir. Ayrıca ilginizi çekebilir [Ne denediniz?] (Http://mattgemmell.com/2008/12/08/what-have-you-tried/) –

cevap

38
select top 10 Name, Price 
from MyTable 
order by Price desc 

Güncelleme: @Remou dikkat çekti:

bu 10'dan fazla kayıtları içermesine karşın, aynı yüksek fiyatları ile tüm öğeleri seçmek böylece

"Erişim SQL, kibrit seçer çalışma alanı, fiyat ve benzersiz bir alan (sütun) ile sipariş vermektir. Benzersiz bir ürün kodu sütunu varsa

Yani, şöyle ekleyin:

select top 10 Name, Price 
from MyTable 
order by Price desc, UniqueProductCode desc 
+14

Sadece hızlı bir yorum - Access SQL eşleşmeleri seçer, böylece 10'dan fazla kayıt içermesine rağmen, aynı en yüksek fiyatlara sahip tüm öğeleri seçin. Çalışma, fiyat ve benzersiz bir alan (sütun) ile sipariş vermektir. Düzeltme için – Fionnuala

+1

+1. ORDER BY kullandığın anda çok fazla satır döndüren erişim sorunları yaşadım. – Praesagus

+0

Ek not, bu sorun, ADO kullanarak Excel'den DB erişirken de oluşur. Buradaki çözüm ('ORDER BY''e eklenen isteğe bağlı ana anahtar kullanılarak) mükemmel bir şekilde çalıştı! – Gaffi

İlgili konular