Bonjour à tous,
voilà j'ai la table ci dessous pour lequel j'aimerai avoir 12 résultats composé de la facon suivante:
- tous les résultats où Favoris = 1 order by ID
+
- les resultats où fresh = 1 order by ID
+
- les resultats où random = 1 dans un order aléatoires.
_______________________
|id | rss | favoris | fresh | random |
____________________________
| 1 | a | 1 | 0 | 0 |
| 2 | b | 1 | 0 | 0 |
| 3 | c | 0 | 1 | 0 |
| 4 | d | 0 | 1 | 0 |
| 5 | e | 1 | 0 | 1 |
| 6 | f | 1 | 0 | 1 |
...........................................
|25 | x | 1 | 0 | 1 |
à la base je voulais le faire en une requete mais sauf erreur de ma par ce n'est pas possible.
J'ai donc pensé à un union
Code : Sélectionner tout - Visualiser dans une fenêtre à part (SELECT * FROM ps_rsspersocontent ORDER by favoris Desc, fresh Desc, random RAND() limit 12
Mais j'ai deux soucis cette requete me semble très lente, et impossible de faire une union en gardant le coté aleatoire>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 (SELECT * FROM ps_rsspersocontent where shop_id = 8 and cat_id = 25 and random = 0 ORDER By id asc) UNION (SELECT * FROM ps_rsspersocontent where shop_id = 8 and cat_id = 25 and random = 1 ORDER by RAND()) ORDER by favoris Desc, fresh Desc limit 12
J'espère avoir été clair j'ai toujorus du mal à exprimé les requete que je souhaites.
Partager