No es posible hacer una consulta decente con la combinación de BY en SQL

jennifer:

Quiero hacer una consulta SQL que mostrará el número de impresiones y clics por el nombre del editor en los últimos 7 días. Así que hice la siguiente consulta SQL. Pero no estoy seguro de si es el correcto. ¿Crees que va a hacer las cosas mencionadas anteriormente? Me encantaría saber de usted!

SELECT p.pub_name as "Publisher Name",
       Sum(ast.`impressions`) as 'Impressions', 
       Sum(ast.`clicks`) as "Clicks"
FROM  App_data  ast
Inner JOIN Publishers p 
WHERE  date >= Date_sub(Now(), INTERVAL 7 day) 
GROUP  BY p.pub_name;

Me dieron 3 tipos de tablas

1. “Publishers”
[columns]
pub_id
pub_name
pub_country

2. “applications” -  Each publisher (from table #1), can have more than one application

[columns]
app_id
app_name
app_pub_id
App_plat


3. Table name: App_data -  The table holds aggregative data
[columns]
App_id
Date
Impressions 
Clicks
Country
Barmar:

Es necesario para unirse a los 3 mesas, ya que la applicationstabla es el enlace para relacionar app_dataa la correspondiente publisherfila. A continuación, puede utilizar ONcláusulas para vincular las tablas.

SELECT p.pub_name as "Publisher Name",
       Sum(ast.`impressions`) as 'Impressions', 
       Sum(ast.`clicks`) as "Clicks"
FROM  App_data  ast
INNER JOIN applications app ON ast.app_id = app.app_id
Inner JOIN Publishers p ON p.pub_id = app.pub_id
WHERE  date >= Date_sub(Now(), INTERVAL 7 day) 
GROUP  BY p.pub_name;

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=347061&siteId=1
Recomendado
Clasificación