Sorgu yapısı ve cümleler

Bir sorgu, bir dizi ifadeden oluşur: SELECT, FROM, WHERE, ORDER BY, LIMIT, ve PARAMETERS.

Maddeler; alan adlarını, kaynak adlarını, operatörleri, koşulları, ve sıralamalar tek bir sorgu isteğinde birleştirilir.

Temel terimlerle, bir sorgu oluşturmak için:

  • Verilerin alınacağı kaynağı belirtin.
  • Döndürmek istediğiniz verileri tanımlamak için alanlar ve metrikler ekleyin.
  • Sonuçlarınızı gruplandırmak için segmentler ekleyin.
  • İlgili kaynak verilerini dolaylı olarak birleştirmek için ilişkilendirilen kaynakları ekleyin.
  • Sonuçlarınızı filtreleme, sıralama ve sınırlama.

SELECT koşulu

SELECT ifadesi:

  • Sorgudaki zorunlu bir ifadedir.
  • İstekte getirilecek alan grubunu belirtir.
  • Kaynak alanları, özel sütunlar ve özel sütunların virgülle ayrılmış listesini alır ve ilgili Floodlight değişkenlerini, segment alanlarını ve metriklerini gösterir ve tıklayın.

Bu örnek sorguda, campaign özelliklerinin nasıl seçileceği gösterilmektedir kaynak:

SELECT
  campaign.id,
  campaign.name
FROM campaign

Birden fazla alan türü

Aynı istekte farklı alan türleri isteyebilirsiniz.

Aşağıdaki örnek sorgu, şunları içeren tek bir sorguyu gösterir:

  • Kaynak alanları: campaign.id, campaign.name, bidding_strategy.id ve bidding_strategy.name.
  • Segment alanları: segments.device ve segments.date.
  • Metrik alanları: metrics.impressions ve metrics.clicks.
SELECT
  campaign.id,
  campaign.name,
  bidding_strategy.id,
  bidding_strategy.name,
  segments.device,
  segments.date,
  metrics.impressions,
  metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

Segmentasyon bölümünü inceleyin. bölümünü ziyaret edin.

Ana kaynak alanı

Genellikle ana kaynak alanınızı SELECT bölümüne dahil edersiniz. ifadesini ekleyin, ancak bu isteğe bağlıdır (zorunlu değildir).

Bu örnek sorguda yalnızca filtre uygulamak için bir ana kaynak alanı (ad_group.status) kullanılıyor daha iyi olur.

SELECT campaign.id
FROM ad_group
WHERE ad_group.status = PAUSED

Özel Floodlight değişkenleri

SELECT yan tümcesine özel Floodlight değişkenlerini eklemek için kimlikleri.

Bu örnekte, sorgu kampanya kaynağı.

SELECT
  conversion_custom_metrics.id[123454321]
FROM campaign
SELECT
  conversion_custom_dimensions.id[123454321]
FROM campaign

Özel sütunlar

SELECT yan tümcesine kimliklerini kullanarak özel sütunlar ekleyebilirsiniz.

Bu örnekte, sorgu kampanya kaynağı.

SELECT
  custom_columns.id[12345678]
FROM campaign

Özel sütun kimliklerini nasıl alacağınızı öğrenin.

Metrik alanları

Belirli bir kaynak için, diğerlerini eklemeden metrik alanlarını seçebilirsiniz SELECT yan tümcesindeki kaynaktan alan alanlarını içerir.

Bu örnek sorguda campaign için impressions ve clicks metrikleri seçilir gösterir.

SELECT
  metrics.impressions,
  metrics.clicks
FROM campaign

Ayrıntılı bilgi için metrics adresini ziyaret edin. sorgularınızda kullanabileceğiniz metrik alanlarının listesini içerir.

Segment alanları

Eşlik eden kaynak alanlarını belirtmeden segment alanlarını seçebilirsiniz SELECT ifadesindeki metrikleri veya metrikleri değiştirebilirsiniz.

Bu örnek sorgu, sonuçları cihaza göre segmentlere ayırır.

SELECT segments.device
FROM campaign

Ayrıntılı bilgi için segments adresini ziyaret edin. segment alanlarının listesine göz atın.

Yasaklı alanlar

SELECT yan tümcesinde aşağıdaki alanları kullanamazsınız:

  • Seçilemeyen alanlar, yani Selectable meta verileri içeren alanlar özelliği false olarak işaretlendi.
  • Yinelenen alanlar, yani Repeated meta veri özelliğine sahip alanlar true olarak işaretlendi.
  • FROM ifadesinde belirtilen kaynak için kullanılamayan alanlar. Bazı kaynakların özellikleri birlikte seçilemez. Yalnızca bazı kaynaklar tüm metriklerin ve segmentlerin bir alt kümesini kullanılabilir hale getirir.
  • Uyumsuz segmentler veya metrikler. Daha fazla bilgi için Segmentasyon bölümüne bakın ekleyebilirsiniz.

Aşağıdakiler için Referans belgelerine bakın: bu bilgileri nerede bulabileceğinize dair ayrıntılar.

FROM koşulu

FROM ifadesi:

  • Sorgu için zorunlu bir ifadedir SearchAds360Service (Search ve SearchStream yöntemleri).
  • SearchAds360FieldService sorgularına dahil edilmemelidir.
  • Sorgunun döndürdüğü ana kaynağı belirtir.
  • Yalnızca tek bir kaynak belirtilebilir.
  • Sorgudaki diğer tüm yan tümcelerde kullanabileceğiniz alanları tanımlar.
ziyaret edin.

İlişkilendirilmiş kaynaklar

İlişkilendirilen kaynaklar varsa FROM ifadesinde belirttiğiniz kaynaktır. Yalnızca özelliklerini eklemeniz gerekir değerini döndürmek için SELECT ifadesini kullanın.

Bu örnek sorgu hem reklam grubu kimliğini hem de kampanya kimliğini döndürür, çünkü campaign, ad_group kaynağının ilişkilendirilen bir kaynağıdır.

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

resource_name alanı

FROM yan tümcesindeki ana kaynağın resource_name alanı her zaman geri döndü.

Bu örnek sorguda, yanıta ad_group.resource_name dahil edilecektir. sorguda açıkça seçilmemiş olsa bile:

SELECT ad_group.id
FROM ad_group

İlişkilendirilen kaynağın resource_name alanı: en az bir alan seçildiğinde döndürülür.

Bu örnek sorguda, campaign.resource_name campaign.id seçildiği için yanıt:

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

WHERE koşulu

WHERE ifadesi:

  • Sorgudaki isteğe bağlı bir ifadedir.
  • İstek için verileri filtreleme ve segmentlere ayırma koşullarını belirtir. Koşullar şu kalıbı takip ediyor: FIELD_NAME OPERATOR VALUE (ayrıca: boşluk) ekleyin.
  • AND ayırıcıyla ayrılmış birden fazla koşul içerebilir.

Bu örnek sorguda, impressions döndürmek için WHERE ifadesinin nasıl kullanılacağı gösterilmektedir belirli bir dönemdeki metrikler:

SELECT
  campaign.id,
  campaign.name,
  metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

Segmentasyon bölümünü inceleyin. bölümünü ziyaret edin.

Tarih belirtme hakkında daha fazla bilgi edinmek için Tarih aralıkları bölümüne bakın aralıklarında görünür.

resource_name alanına göre filtrele

Verileri filtrelemek veya sıralamak için resource_name alanını kullanabilirsiniz.

Bu örnek sorguda, sonuçları filtrelemek için campaign.resource_name alanı kullanılmaktadır elde edilir:

SELECT
  campaign.id,
  campaign.name
FROM campaign
WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'

Birden fazla koşul

Verilerinizi filtrelemek için birden fazla koşulu birleştirebilirsiniz.

Bu örnek sorgu, tüm kampanyalar için clicks metriğinin sayısını istiyor. son 30 günde mobil cihazlarda impressions metrikle.

SELECT
  campaign.id,
  campaign.name,
  segments.device,
  metrics.clicks
FROM campaign
WHERE metrics.impressions > 0
  AND segments.device = MOBILE
  AND segments.date DURING LAST_30_DAYS

Segmentasyon bölümünü inceleyin. bölümünü ziyaret edin.

Büyük/küçük harfe duyarlılık

Dize değerlerine göre filtre uygulanırken her operatörün varsayılan büyük/küçük harf duyarlılığı sonuçlarınızın doğru şekilde filtrelenmesinde önemli bir rol oynar.

Aşağıdaki tabloda her operatörün varsayılan büyük/küçük harfe duyarlılığı gösterilmektedir.

Varsayılan büyük/küçük harfe duyarlılık
=/!= Case sensitive
IN/NOT IN Case sensitive
LIKE/NOT LIKE Case insensitive
CONTAINS (...) Case sensitive
REGEXP_MATCH/NOT REGEXP_MATCH Case sensitive

Şu öğelerin varsayılan hassasiyetini değiştirmek için (?i) değiştiriciyi kullanabilirsiniz: REGEXP_MATCH ve NOT REGEXP_MATCH, büyük/küçük harfe duyarlı değildir, örneğin:

SELECT campaign.id
FROM campaign
WHERE campaign.name REGEXP_MATCH "(?i).*test.*"

Aşağıdakilerin tam listesi için Sorgu dil bilgisi referansı bölümüne bakın verilerinizi filtrelemek için kullanabileceğiniz operatörler.

Temel tarih segmentleri

Aşağıdaki segment alanları temel tarih segmentleri olarak bilinir: segments.date, segments.week, segments.month, segments.quarter ve segments.year.

Tarih veya saat belirtmek için WHERE ifadenizde temel tarih segmentlerini kullanabilirsiniz geçerlidir.

Bu örnek sorgu, segments.date alanı için DURING LAST_30_DAYS değerini belirtiyor WHERE ifadesinde:

SELECT
  campaign.id,
  campaign.name,
  segments.date,
  metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

Bkz. Segmentasyon > Ayrıntılı bilgi için temel tarih segmentleri temel tarih segmentlerini kullanma hakkında bilgi edinin.

Yasaklanmış filtreleme

Filtrelemeye izin verilmez:

  • Temel tarih segmentleri hariç, seçili olmayan segment alanlarında.
  • Temel öğeler hariç her türlü mesaj türünde (örneğin, Int64Value, StringValue vb.).
  • Temel öğeler hariç, herhangi bir mesaj türündeki tekrarlanan alanların özelliklerinde (örneğin, Int64Value, StringValue vb.).

ORDER BY koşulu

ORDER BY ifadesi:

  • Sorgudaki isteğe bağlı bir ifadedir.
  • Sonuçların döndürülme sırasını belirtir. Sıralama buna göre yapılır desen: FIELD_NAME ORDERING_OPTION (boşlukla ayrılmış).
  • İki seçeneğe izin verir: ASC (artan) veya DESC (azalan). Varsayılan değer: artan sırada.

Bu örnek sorgu, kampanyaları tıklama sayısına göre azalan düzende sıralar (en yüksekten en düşüğe):

SELECT
  campaign.name,
  metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC

Birden fazla sipariş

Virgülle ayrılmış değer kullanarak ORDER BY yan tümcesinde birden çok alan belirtebilirsiniz liste'ye dokunun. Sonuçlar emin olun.

Bu örnek sorgu, reklam grubu verilerini seçer ve sonuçları artan düzende sıralar kampanya adına göre, daha sonra gösterim sayısına göre azalan düzende sıralayarak ve tıklama sayısına göre azalan düzende sıralanır:

SELECT
  campaign.name,
  ad_group.name,
  metrics.impressions,
  metrics.clicks
FROM ad_group
ORDER BY
  campaign.name,
  metrics.impressions DESC,
  metrics.clicks DESC

Sipariş ve limiti birleştirin

Şu işlemler için ORDER BY ifadesini LIMIT ifadesiyle birlikte kullanabilirsiniz: sonuçlarınızı hassaslaştırın.

Bu örnek sorgu, şu süre kadar en yüksek gösterime sahip beş kampanyayı döndürür: son 30 gün:

SELECT
  campaign.id,
  campaign.name,
  metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.impressions DESC
LIMIT 5

Yasak sipariş

Sıralamaya izin verilmez:

  • Seçili olmayan kaynakların özelliklerine göre.
  • Seçilmeyen metriklere göre.
  • Seçilmeyen segmentlere göre.
  • Bu alan türleri için:
    • MESSAGE
    • Yinelenen alanlar
    • Yinelenen alanların özellikleri.

LIMIT koşulu

LIMIT ifadesi:

  • Sorgudaki isteğe bağlı bir ifadedir.
  • Sorgunun döndürdüğü sonuç sayısını sınırlamanıza olanak tanır.

Bu ifade yalnızca bir örnekle veya yalnızca tek bir örnekle ya da ve özet içerir.

Bu örnek sorguda toplam sonuç sayısı 50 ile sınırlandırılmıştır:

SELECT
  campaign.name,
  ad_group.name,
  segments.device,
  metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50

PARAMETERS koşulu

PARAMETERS ifadesi, istek için meta parametreleri belirtmenize olanak tanır.

Taslakları dahil et

include_drafts parametresi, taslak öğelerin daha iyi olur. Varsayılan değer: false. Taslak öğeleri eklemek için bunu true olarak ayarlayın.

Şu örnek sorgu hem taslak kampanyaları hem de normal kampanyaları döndürür:

SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true

Seçimi atla: resource_name

omit_unselected_resource_names parametresi, açıkça istenmeyen tüm kaynakların resource_name alanı SELECT ifadesi. Varsayılan değer: false. Bu parametreyi true olarak ayarlarsanız birincil kaynağın kaynak adını açıkça istemeniz önerilir: ve SELECT ibarenizdeki ilişkilendirilen kaynaklar.

Bu örnek sorgu, ne campaign.resource_name ne de customer.resource_name alanı, SELECT kapsamında değildir ifade:

SELECT
  campaign.name,
  customer.id
FROM campaign
PARAMETERS omit_unselected_resource_names = true

Bu örnek sorgu, campaign.resource_name alanını döndürür çünkü SELECT yan tümcesinde açıkça istendi:

SELECT
  campaign.name,
  campaign.resource_name
FROM campaign
PARAMETERS omit_unselected_resource_names = true

Metriklerde kullanılan para birimini değiştirme

metrics_currency parametresi, kullanılacak para birimini belirtmenizi sağlar dahil edilir.SELECT Varsayılan ayar, hesabın yerel para birimidir. Bu parametresi için ISO 4217 3 karakterli para birimi kodunu kullanmanız gerekir. Örneğin: USD, EUR.

Bu örnek sorgu, maliyet_micros metriğini hesap.

SELECT
  campaign.name,
  metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"

Bu örnek sorgu, Şili pesosu (CLP) cinsindencost_micros metriğini döndürür.

SELECT
  campaign.name,
  metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
PARAMETERS metrics_currency = "CLP"

Daha fazla bilgi