Bu makalede, bir kayıt kümesindeki en son veya en erken tarihleri bulmak için en yüksek değer sorgularının ve toplam sorgularının nasıl kullanılacağı açıklanmaktadır. Bu, müşterinin en son ne zaman sipariş verdiği veya şehre göre satış için en iyi beş çeyrek gibi çeşitli iş sorularını yanıtlamanıza yardımcı olabilir.
Bu makalede
Genel Bakış
En yüksek değerler sorgusunu kullanarak verileri sıralayabilir ve en yüksek dereceli öğeleri gözden geçirebilirsiniz. En üstteki değer sorgusu, sonuçların en üstünden belirtilen sayıda veya yüzde değeri döndüren bir seçme sorgusudur; örneğin, bir web sitesindeki en popüler beş sayfa. Herhangi bir değer türüne karşı en yüksek değerler sorgusunu kullanabilirsiniz; bunlar sayı olmak zorunda değildir.
Sıralamadan önce verilerinizi gruplandırmak veya özetlemek istiyorsanız, en yüksek değerler sorgusunu kullanmanız gerekmez. Örneğin, şirketinizin faaliyet gösterdiği her şehir için belirli bir tarihe ait satış numaralarını bulmanız gerektiğini varsayalım. Bu durumda, şehirler kategorilere dönüşür (şehir başına verileri bulmanız gerekir), bu nedenle toplamlar sorgusu kullanırsınız.
Bir tablo veya kayıt grubundaki en son veya en eski tarihleri içeren kayıtları bulmak için en önemli değerler sorgusunu kullandığınızda, aşağıdakiler gibi çeşitli iş sorularını yanıtlayabilirsiniz:
-
Son zamanlarda en çok satış yapan kim?
-
Müşteri en son ne zaman sipariş verdirdi?
-
Takımda sonraki üç doğum günü ne zaman?
En yüksek değer sorgusu yapmak için bir seçme sorgusu oluşturarak başlayın. Ardından, ister en üstte ister altta olsun, verileri sorunuza göre sıralayın. Verileri gruplandırmanız veya özetlemeniz gerekiyorsa seçme sorgusunu toplamlar sorgusuna dönüştürün. Daha sonra en yüksek veya en düşük değeri döndürmek için Max veya Min gibi bir toplama işlevi veya en erken veya en son tarihi döndürmek için İlk veya Son gibi bir toplama işlevi kullanabilirsiniz.
Bu makalede, kullandığınız tarih değerlerinin Tarih/Saat veri türüne sahip olduğu varsayılır. Tarih değerleriniz bir Metin alanındaysa, .
En yüksek değerler sorgusu yerine filtre kullanmayı göz önünde bulundurun
Aklınızda belirli bir tarih varsa filtre genellikle daha iyidir. En yüksek değerler sorgusu oluşturmanız mı yoksa filtre mi uygulamanız gerektiğini belirlemek için aşağıdakileri göz önünde bulundurun:
-
Tarihin eşleştiği, belirli bir tarihten önceki veya sonraki tüm kayıtları döndürmek istiyorsanız, filtre kullanın. Örneğin, Nisan ile Temmuz arasındaki satış tarihlerini görmek için bir filtre uygularsınız.
-
Bir alanda en son veya en son tarihlere sahip olan belirli bir kayıt miktarını döndürmek istiyorsanız ve tarih değerlerini tam olarak bilmiyorsanız veya önemli değilse, bir üst değerler sorgusu oluşturursunuz. Örneğin, en iyi beş satış dönemini görmek için en iyi değerler sorgusunu kullanın.
Filtreleri oluşturma ve kullanma hakkında daha fazla bilgi için Access veritabanındaki belirli kayıtları görüntülemek için filtre uygulama makalesine bakın.
Örneklerle birlikte izleyebileceğiniz örnek verileri hazırlama
Bu makaledeki adımlarda aşağıdaki örnek tablolardaki veriler kullanılır.
Çalışanlar tablosu
|
LastName |
Ad |
Adres |
Şehir |
CountryOrR egion |
Doğum Tarihi |
İşe Alma Tarihi |
|
Özdemir |
Barış |
1 Ana Cadde |
Üsküdar |
USA |
05 Şubat 1968 |
10 Haziran 1994 |
|
Heloo |
Waleed |
Manolya Cad |
İzmir |
USA |
22-Mayıs 1957 |
22-Nov-1996 |
|
Pica |
Guido |
3122 75. S.W. |
Seattle |
USA |
11-1960 |
11 Mar 2000 |
|
Simit |
Jean Philippe |
1 Contoso Blvd. |
Londra |
UK |
22 Mar-1964 |
22 Haziran 1998 |
|
Fiyat |
Julian |
Efe Sok 17/2 |
Bursa |
Meksika |
05 Haziran 1972 |
05 Ocak 2002 |
|
Hughes |
Christine |
3122 75. |
Seattle |
USA |
23 Ocak 1970 |
23 Nisan 1999 |
|
Riley |
Steve |
67. Sokak 12/3 |
Zonguldak |
USA |
14 Nisan 1964 |
14 Ekim 2004 |
|
Birkby |
Dana |
2 Burunlu Pkwy |
Portland |
USA |
29 Ekim 1959 |
29 Mar-1997 |
EventType tablosu
|
TypeID |
Olay Türü |
|
1 |
Ürün Lansmanı |
|
2 |
Kurumsal İşlev |
|
3 |
Özel İşlev |
|
4 |
Fon Toplayan |
|
5 |
Fuar |
|
6 |
Ders |
|
7 |
Konser |
|
8 |
Göstermek |
|
9 |
Sokak Fuarı |
Müşteriler tablosu
|
MüşteriNo |
Şirket |
Kişi |
|
1 |
Meşe Ltd. Grafik |
Jonathan Haas |
|
2 |
Topaç Oyuncakçılık |
Ellen Adams |
|
3 |
Fabrikam |
Carol Philips |
|
4 |
Wingtip Toys |
Lucio Iallo |
|
5 |
A. Datum |
Mandar Samant |
|
6 |
Adventure Works |
Brian Burke |
|
7 |
Tasarım Enstitüsü |
Jaka Stele |
|
8 |
Güzel Sanatlar Okulu |
Milena Duomanova |
Olaylar tablosu
|
Etkinlik Kimliği |
Olay Türü |
Müşteri |
Olay Tarihi |
Fiyat |
|
1 |
Ürün Lansmanı |
Meşe Ltd. |
4/14/2011 |
10.000 TL |
|
2 |
Kurumsal İşlev |
Topaç Oyuncakçılık |
4/21/2011 |
8.000 TL |
|
3 |
Fuar |
Topaç Oyuncakçılık |
01.05.11 |
25.000 DOLAR |
|
4 |
Göstermek |
Grafik Tasarım Enstitüsü |
5/13/2011 |
4.500 TL |
|
5 |
Fuar |
Meşe Ltd. |
5/14/2011 |
55.000 DOLAR |
|
6 |
Konser |
Güzel Sanatlar Okulu |
5/23/2011 |
12.000 TL |
|
7 |
Ürün Lansmanı |
A. Datum |
6/1/2011 |
15.000 TL |
|
8 |
Ürün Lansmanı |
Wingtip Toys |
6/18/2011 |
21.000 TL |
|
9 |
Fon Toplayan |
Adventure Works |
6/22/2011 |
$1,300 |
|
10 |
Ders |
Grafik Tasarım Enstitüsü |
6/25/2011 |
$2,450 |
|
11 |
Ders |
Meşe Ltd. |
04.07.2011 |
$3,800 |
|
12 |
Sokak Fuarı |
Grafik Tasarım Enstitüsü |
04.07.2011 |
5.500 TL |
Not: Bu bölümdeki adımlarda, Müşteriler ve Olay Türü tablolarının Olaylar tablosuyla bire çok ilişkilerinin "bir" tarafında yer aldığı varsayılır. Bu durumda, Olaylar tablosu CustomerID ve TypeID alanlarını paylaşır. Sonraki bölümlerde açıklanan toplam sorguları bu ilişkiler olmadan çalışmaz.
Örnek verileri Excel çalışma sayfalarına yapıştırma
-
Excel'i başlatın. Boş bir çalışma kitabı açılır.
-
Çalışma sayfası eklemek için SHIFT+F11 tuşlarına basın (dört tane gerekir).
-
Her örnek tablodaki verileri boş bir çalışma sayfasına kopyalayın. Sütun başlıklarını (ilk satır) ekleyin.
Çalışma sayfalarından veritabanı tabloları oluşturma
-
Sütun başlıkları da dahil olmak üzere ilk çalışma sayfasından verileri seçin.
-
Gezinti Bölmesi'ne sağ tıklayın ve ardından Yapıştır'a tıklayın.
-
İlk satırın sütun başlıkları içerdiğini onaylamak için Evet'e tıklayın.
-
Kalan çalışma sayfalarının her biri için 1-3 arası adımları yineleyin.
En son veya en son tarihi bulma
Bu bölümdeki adımlarda, en yüksek değerler sorgusu oluşturma işlemini göstermek için örnek veriler kullanılır.
Temel bir en yüksek değerler sorgusu oluşturma
-
Oluştur sekmesinin Sorgular grubunda Sorgu Tasarımı üzerine tıklayın.
-
Çalışanlar tablosuna çift tıklayın ve ardından Kapat'a tıklayın.
Örnek verileri kullanıyorsanız, Sorguya Employees tablosunu ekleyin.
-
Sorgunuzda kullanmak istediğiniz alanları tasarım kılavuzuna ekleyin. Her alanı çift tıklatabilir veya alan satırındaki boş bir hücreye sürükleyip bırakabilirsiniz.
Örnek tabloyu kullanıyorsanız Ad, Soyadı ve Doğum Tarihi alanlarını ekleyin.
-
Üst veya alt değerlerinizi içeren alanda (örnek tabloyu kullanıyorsanız Doğum Tarihi alanı), Sırala satırına tıklayın ve Artan veya Azalan'ı seçin.
Azalan sıralama düzeni en son tarihi, Artan sıralama düzeni ise en erken tarihi döndürür.
Önemli: Sıralama satırında yalnızca tarihlerinizi içeren alanlar için bir değer ayarlamanız gerekir. Başka bir alan için sıralama düzeni belirtirseniz, sorgu istediğiniz sonuçları döndürmez.
-
Tasarım sekmesinin Araçlar grubunda, Tümü 'nin yanındaki aşağı oka tıklayın (Üst Değerler listesi) ve görmek istediğiniz kayıt sayısını girin veya listeden bir seçenek belirleyin.
-
Sorguyu çalıştırmak ve sonuçları Veri Sayfası görünümünde görüntülemek için
çalıştır'a tıklayın. -
Sorguyu NextBirthDays olarak kaydedin.
Bu tür en önemli değerler sorgusunun, şirketin en eski veya en genç kişisi gibi temel soruları yanıtlayabileceğinizi görebilirsiniz. Sonraki adımlarda sorguya güç ve esneklik eklemek için ifadelerin ve diğer ölçütlerin nasıl kullanılacağı açıklanmaktadır. Sonraki adımda gösterilen ölçütler, sonraki üç çalışan doğum gününü döndürür.
Sorguya ölçüt ekleme
Bu adımlar, önceki yordamda oluşturulan sorguyu kullanır. Metin değerleri değil, gerçek Tarih/Saat verileri içerdiği sürece farklı bir üst değerler sorgusuyla birlikte izleyebilirsiniz.
İpucu: Bu sorguyu nasıl çalıştığını daha iyi anlamak istiyorsanız, her adımda Tasarım görünümü ile Veri Sayfası görünümü arasında geçiş yapın. Gerçek sorgu kodunu görmek istiyorsanız SQL görünümüne geçin. Görünümler arasında geçiş yapmak için sorgunun üst kısmındaki sekmeye sağ tıklayın ve ardından istediğiniz görünüme tıklayın.
-
Gezinti Bölmesi'nde NextBirthDays sorgusuna sağ tıklayın ve ardından Tasarım Görünümü'ne tıklayın.
-
Sorgu tasarım kılavuzunda, DoğumTarihi'nin sağındaki sütuna şunu girin:MonthBorn: DatePart("m",[DoğumTarihi]).Bu ifade DatePart işlevini kullanarak BirthDate'tan ayı ayıklar.
-
Sorgu tasarım kılavuzunun sonraki sütununa şunu girin:DayOfMonthBorn: DatePart("d",[BirthDate])Bu ifade, DatePart işlevini kullanarak DoğumTarihi'nden ayın gününü ayıklar.
-
Az önce girdiğiniz iki ifadenin her biri için Göster satırındaki onay kutularını temizleyin.
-
Her ifade için Sırala satırına tıklayın ve artan'ı seçin.
-
Doğum Tarihi sütununun Ölçüt satırına şu ifadeyi yazın:Month([Doğum Tarihi]) > Month(Date()) OR Month([Birth Date])= Month(Date()) AND Day([Birth Date])>Day(Date())Bu ifade aşağıdakileri yapar:
-
Month( [Doğum Tarihi]) > Month(Date()), her çalışanın doğum tarihinin gelecek bir aya denk geldiğini belirtir.
-
Month( [Doğum Tarihi])= Month(Date()) And Day([Birth Date])>Day(Date()), doğum tarihi geçerli ay içinde gerçekleşirse doğum gününün geçerli güne veya sonraya denk geldiğini belirtir.
Kısacası, bu ifade doğum gününün 1 Ocak ile geçerli tarih arasında gerçekleştiği tüm kayıtları dışlar.
İpucu: Sorgu ölçütü ifadelerine daha fazla örnek için Sorgu ölçütü örnekleri makalesine bakın.
-
-
Tasarım sekmesinin Sorgu Kurulumu grubunda, İade kutusuna 3 yazın.
-
Tasarım sekmesinin Sonuçlar grubunda Çalıştır
'a tıklayın.
Not: Kendi verilerinizi kullanarak kendi sorgunuzda bazen belirttiğinizden daha fazla kayıt görebilirsiniz. Verileriniz, en yüksek değerler arasında yer alan bir değeri paylaşan birden çok kayıt içeriyorsa, sorgunuz istediğinizden daha fazla kayıt döndürmek anlamına gelse bile bu tür tüm kayıtları döndürür.
Kayıt grupları için en son veya en son tarihleri bulma
Şehre göre gruplandırılmış olaylar gibi gruplara giren kayıtların en erken veya en son tarihlerini bulmak için toplamlar sorgusu kullanırsınız. Toplamlar sorgusu, her çıkış alanının değerlerini hesaplamak için toplama işlevlerini (Gruplandırma Ölçütü, Mdeğeri, Maksimum, Sayı, İlk ve Son gibi) kullanan bir seçme sorgusudur.
Kategoriler için kullanmak istediğiniz alanı (gruplandırmak için) ve özetlemek istediğiniz değerleri içeren alanı ekleyin. Olay türüne göre gruplandırırken diğer çıkış alanlarını (örneğin, müşterilerin adlarını) eklerseniz, sorgu bu alanları grup oluşturmak için de kullanır ve sonuçları değiştirerek özgün sorunuzu yanıtlamaz. Satırları diğer alanları kullanarak etiketlemek için, toplamlar sorgusunu kaynak olarak kullanan ek bir sorgu oluşturur ve bu sorguya ek alanları eklersiniz.
İpucu: Adımlarda sorgu oluşturmak, daha gelişmiş soruları yanıtlamak için çok etkili bir stratejidir. Karmaşık bir sorguyu çalışırken sorun yaşıyorsanız, bunu bir dizi basit sorguya ayırıp bölemeyeceğinizi düşünün.
Toplamlar sorgusu oluşturma
Bu yordam, bu soruyu yanıtlamak için Olaylar örnek tablosunu ve EventType örnek tablosunu kullanır:
Konserler hariç her etkinlik türünün en son etkinliği ne zaman oldu?
-
Oluştur sekmesinin Sorgular grubunda Sorgu Tasarımı üzerine tıklayın.
-
Olaylar ve EventType tablolarına çift tıklayın. Her tablo, sorgu tasarımcısının üst bölümünde görünür.
-
Alanları sorgu tasarım kılavuzuna eklemek için EventType tablosunun EventType alanına ve Olaylar tablosundaki EventDate alanına çift tıklayın.
-
Sorgu tasarım kılavuzunda, EventType alanının Ölçüt satırına konser<> girin.
İpucu: Ölçüt ifadelerine daha fazla örnek için Sorgu ölçütü örnekleri makalesine bakın.
-
Tasarım sekmesinin Göster/Gizle grubunda Toplamlar'a tıklayın.
-
Sorgu tasarım kılavuzunda EventDate alanının Toplam satırına tıklayın ve ardından En Fazla'ya tıklayın.
-
Tasarım sekmesinin Sonuçlar grubunda Görünüm'ü ve ardından da SQL Görünümü'nü tıklatın.
-
SQL penceresinde, SELECT yan tümcesinin sonunda, AS anahtar sözcüğünden hemen sonra MaxOfEventDate değerini MostRecent ile değiştirin.
-
Sorguyu MostRecentEventByType olarak kaydedin.
Daha fazla veri eklemek için ikinci bir sorgu oluşturma
Bu yordam, bu soruyu yanıtlamak için yukarıdaki yordamdaki MostRecentEventByType sorgusunu kullanır:
Her olay türünde en son olayda müşteri kimdi?
-
Oluştur sekmesinin Sorgular grubunda Sorgu Tasarımı üzerine tıklayın.
-
Sorgular sekmesinde MostRecentEventByType sorgusuna çift tıklayın.
-
Tablolar sekmesinde Olaylar tablosuna ve Müşteriler tablosuna çift tıklayın.
-
Sorgu tasarımcısında aşağıdaki alanlara çift tıklayın:
-
Olaylar tablosunda EventType'a çift tıklayın.
-
MostRecentEventByType sorgusunda MostRecent'a çift tıklayın.
-
Müşteriler tablosunda Şirket'e çift tıklayın.
-
-
Sorgu tasarım kılavuzunda, EventType sütununun Sıralama satırında Artan'ı seçin.
-
Tasarım sekmesinin Sonuçlar grubunda Çalıştır'a tıklayın.