{"id":256,"date":"2015-09-16T17:17:37","date_gmt":"2015-09-16T16:17:37","guid":{"rendered":"http:\/\/mdeschenes.com\/blogue\/?p=256"},"modified":"2015-09-17T14:51:05","modified_gmt":"2015-09-17T13:51:05","slug":"cerveau-mou-ayant-besoin-daide-pour-une-requete-sql","status":"publish","type":"post","link":"http:\/\/mdeschenes.com\/blogue\/cerveau-mou-ayant-besoin-daide-pour-une-requete-sql\/","title":{"rendered":"Cerveau mou ayant besoin d&rsquo;aide pour une requ\u00eate SQL!"},"content":{"rendered":"<p>J\u2019ai le cerveau mou (4<sup>e<\/sup> mois de cong\u00e9 de maternit\u00e9\u2026 \ud83d\ude09 ) et je n\u2019arrive pas \u00e0 faire ce que je veux faire en SQL. Quelqu\u2019un peut m\u2019aider?<\/p>\n<p>J\u2019ai la BD suivante (incompl\u00e8te, mais c\u2019est seulement pour soutenir ma question)\u00a0:<\/p>\n<p><a href=\"http:\/\/mdeschenes.com\/blogue\/wp-content\/uploads\/2015\/09\/Capture-d\u2019\u00e9cran-2015-09-16-\u00e0-11.49.47.png\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-250\" src=\"http:\/\/mdeschenes.com\/blogue\/wp-content\/uploads\/2015\/09\/Capture-d\u2019\u00e9cran-2015-09-16-\u00e0-11.49.47.png\" alt=\"BD - rating\" width=\"561\" height=\"188\" srcset=\"http:\/\/mdeschenes.com\/blogue\/wp-content\/uploads\/2015\/09\/Capture-d\u2019\u00e9cran-2015-09-16-\u00e0-11.49.47.png 561w, http:\/\/mdeschenes.com\/blogue\/wp-content\/uploads\/2015\/09\/Capture-d\u2019\u00e9cran-2015-09-16-\u00e0-11.49.47-300x101.png 300w\" sizes=\"(max-width: 561px) 100vw, 561px\" \/><\/a><\/p>\n<p>Avec un contenu de la table <em>rating<\/em> qui ressemble \u00e0\u00a0:<\/p>\n<p><a href=\"http:\/\/mdeschenes.com\/blogue\/wp-content\/uploads\/2015\/09\/Capture-d\u2019\u00e9cran-2015-09-16-\u00e0-11.56.00.png\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-251\" src=\"http:\/\/mdeschenes.com\/blogue\/wp-content\/uploads\/2015\/09\/Capture-d\u2019\u00e9cran-2015-09-16-\u00e0-11.56.00.png\" alt=\"Extrait - table rating\" width=\"241\" height=\"444\" srcset=\"http:\/\/mdeschenes.com\/blogue\/wp-content\/uploads\/2015\/09\/Capture-d\u2019\u00e9cran-2015-09-16-\u00e0-11.56.00.png 241w, http:\/\/mdeschenes.com\/blogue\/wp-content\/uploads\/2015\/09\/Capture-d\u2019\u00e9cran-2015-09-16-\u00e0-11.56.00-163x300.png 163w\" sizes=\"(max-width: 241px) 100vw, 241px\" \/><\/a><\/p>\n<p>J\u2019aimerais appliquer l\u2019<em>association rule<\/em>, c\u2019est-\u00e0-dire calculer\u00a0:<\/p>\n<p><a href=\"http:\/\/mdeschenes.com\/blogue\/wp-content\/uploads\/2015\/09\/Capture-d\u2019\u00e9cran-2015-09-16-\u00e0-12.07.19.png\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-252\" src=\"http:\/\/mdeschenes.com\/blogue\/wp-content\/uploads\/2015\/09\/Capture-d\u2019\u00e9cran-2015-09-16-\u00e0-12.07.19.png\" alt=\"association rule\" width=\"99\" height=\"63\" \/><\/a><\/p>\n<p>O\u00f9 x est le film 260 et y est \u00ab\u00a0tous les autres films, un \u00e0 la fois\u00a0\u00bb. En mots\u00a0: calculer le nombre de personnes qui ont cot\u00e9 le film 260 et un autre film, divis\u00e9 par le nombre d\u2019utilisateurs ayant cot\u00e9 260. Pour chaque film. Dans Excel, je l&rsquo;ai\u00a0fait comme \u00e7a :<\/p>\n<p><a href=\"http:\/\/mdeschenes.com\/blogue\/wp-content\/uploads\/2015\/09\/Capture-d\u2019\u00e9cran-2015-09-16-\u00e0-12.11.38.png\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-253\" src=\"http:\/\/mdeschenes.com\/blogue\/wp-content\/uploads\/2015\/09\/Capture-d\u2019\u00e9cran-2015-09-16-\u00e0-12.11.38.png\" alt=\"Association rule - Excel\" width=\"897\" height=\"456\" srcset=\"http:\/\/mdeschenes.com\/blogue\/wp-content\/uploads\/2015\/09\/Capture-d\u2019\u00e9cran-2015-09-16-\u00e0-12.11.38.png 897w, http:\/\/mdeschenes.com\/blogue\/wp-content\/uploads\/2015\/09\/Capture-d\u2019\u00e9cran-2015-09-16-\u00e0-12.11.38-300x153.png 300w\" sizes=\"(max-width: 897px) 100vw, 897px\" \/><\/a><\/p>\n<p>Je voudrais faire un left join de la table rating sur la table rating, avec le lien sur le id de l\u2019utilisateur. Or, \u00e7a ne me donne pas le produit matriciel (ce \u00e0 quoi je me serais attendue, avec des valeurs nulles pour les utilisateurs qui ont vot\u00e9 pour le film 260, mais pas l&rsquo;autre), \u00e7a me donne seulement les enregistrements pour les utilisateurs qui ont cot\u00e9 les 2 films :<\/p>\n<pre>select \r\n  count(r1.rat_rating)\/15*100 as compte, r2.fk_fil_id\r\nfrom \r\n  rating as r1\r\n  left join rating as r2 on r1.fk_use_id = r2.fk_use_id\r\nwhere\r\n  r1.fk_fil_id = 260 \r\n  and r2.fk_fil_id != 260\r\ngroup by r2.fk_fil_id\r\norder by compte desc, r2.fk_fil_id\r\nlimit 0, 5\r\n<\/pre>\n<p>Je divise par 15 parce que je sais qu\u2019il y a 15 utilisateurs ayant cot\u00e9 pour le film 260. Ce que je veux, c\u2019est avoir le vrai nombre ici. Je pourrais faire une sous-requ\u00eate qui compte le nombre de 260 dans la table rating, mais il me semble que ce serait tr\u00e8s peu optimal, consid\u00e9rant qu\u2019il recompte la m\u00eame info chaque fois.<\/p>\n<p>Est-ce qu\u2019il y aurait quelque chose de plus optimal qu\u2019une requ\u00eate imbriqu\u00e9e dans le select?<\/p>\n<p>Qu\u2019est-ce qui m\u2019\u00e9chappe? (je r\u00e9p\u00e8te\u00a0: j\u2019ai le cerveau mou!!)<\/p>\n<p>Edit : <a title=\"Cerveau mou : la suite!\" href=\"http:\/\/mdeschenes.com\/blogue\/cerveau-mou-la-suite\/\">la suite par\u00a0ici<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>J\u2019ai le cerveau mou (4e mois de cong\u00e9 de maternit\u00e9\u2026 \ud83d\ude09 ) et je n\u2019arrive pas \u00e0 faire ce que je veux faire en SQL. Quelqu\u2019un peut m\u2019aider? J\u2019ai la BD suivante (incompl\u00e8te, mais c\u2019est seulement pour soutenir ma question)\u00a0: Avec un contenu de la table rating qui ressemble \u00e0\u00a0: J\u2019aimerais appliquer l\u2019association rule, c\u2019est-\u00e0-dire&hellip; <a class=\"more-link\" href=\"http:\/\/mdeschenes.com\/blogue\/cerveau-mou-ayant-besoin-daide-pour-une-requete-sql\/\">Poursuivre la lecture <span class=\"screen-reader-text\">Cerveau mou ayant besoin d&rsquo;aide pour une requ\u00eate SQL!<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"_links":{"self":[{"href":"http:\/\/mdeschenes.com\/blogue\/wp-json\/wp\/v2\/posts\/256"}],"collection":[{"href":"http:\/\/mdeschenes.com\/blogue\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/mdeschenes.com\/blogue\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/mdeschenes.com\/blogue\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/mdeschenes.com\/blogue\/wp-json\/wp\/v2\/comments?post=256"}],"version-history":[{"count":4,"href":"http:\/\/mdeschenes.com\/blogue\/wp-json\/wp\/v2\/posts\/256\/revisions"}],"predecessor-version":[{"id":263,"href":"http:\/\/mdeschenes.com\/blogue\/wp-json\/wp\/v2\/posts\/256\/revisions\/263"}],"wp:attachment":[{"href":"http:\/\/mdeschenes.com\/blogue\/wp-json\/wp\/v2\/media?parent=256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/mdeschenes.com\/blogue\/wp-json\/wp\/v2\/categories?post=256"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/mdeschenes.com\/blogue\/wp-json\/wp\/v2\/tags?post=256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}