java - Comptez les clics quotidiens des dix principales annonces de 20170403 à 20170420
世界只因有你
世界只因有你 2017-05-17 10:08:03
0
2
579

Il existe une table publicitaireadvertise(advertise_id, date, count), les données sont les suivantes :

Je dois calculer le nombre de clics par jour pour les 10 meilleures annonces sur une certaine période de temps.

Le résultat de la requête devrait être qu'il y a 10 éléments de données avec unadvert_id différent chaque jour. Comment ce SQL doit-il être écrit ?

世界只因有你
世界只因有你

répondre à tous(2)
Peter_Zhu

Il y a un problème : le nombre de clics sur la date publicitaire qui n'apparaît pas dans l'enregistrement n'est pas affiché. Si vous souhaitez l'afficher, vous devez d'abord construire cette partie des données. Si elle n'est pas affichée, il suffit de la construire. utilisez le sql suivant

select a.* from advertise a join (select advertise_id,sum(count) sm from advertise group by advertise_id order by sm desc limit 10) b on a.advertise_id=b.advertise_id where a.date BETWEEN 20170403 AND 20170420 order by a.date,a.count;
左手右手慢动作
SELECT s.date,s.advertise_id,s.count FROM advertise_stat s
WHERE
    EXISTS (
        SELECT advertise_id FROM (SELECT advertise_id FROM advertise_stat GROUP BY advertise_id ORDER BY count DESC LIMIT 10) AS advertise_temp
        WHERE advertise_id = s.advertise_id
    )
AND s.date BETWEEN 20170403 AND 20170420
ORDER BY s.date ASC,s.count DESC

Ça devrait être comme ça

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!