mysql - Interroger les valeurs uniques d'un certain champ dans la base de données, triées par heure, comment l'écrire?
代言
代言 2017-06-20 10:05:37
0
1
984

Le modèle de l'article est le suivant

Article de classe (modèles.Modèle):

title = models.CharField(max_length=150, verbose_name='文章标题', unique=True)
content = models.TextField(verbose_name='文章内容')
describe = models.CharField(max_length=500, verbose_name='文章描述', blank=True, null=True)
date_publish = models.DateTimeField(auto_now_add=True, verbose_name="发布时间")
click_count = models.PositiveIntegerField(verbose_name='点击次数', blank=True, null=True, default=0)
keywords = models.ForeignKey(Keywords, blank=True, null=True, verbose_name='关键词')  

class Meta:
    verbose_name = '文章'
    verbose_name_plural = verbose_name
    ordering = ['-date_publish']

def __str__(self):
    return self.title

Requête : s'il y a plusieurs éléments de données sous le champ de clé étrangère "mots-clés", un seul élément sera pris en compte. Pour plusieurs éléments de données, celui avec le plus grand nombre de clics sera pris en fonction du nombre de clics, puis celui avec le plus grand nombre de clics. la valeur du titre/contenu/description sera obtenue et sortie vers le modèle de page Web.

Je souhaite utiliser une syntaxe de requête, comment l'écrire

代言
代言

répondre à tous(1)
代言

Fonction d'analyse de mots-clés mysql (fonction fenêtre), puisque mysql ne prend pas en charge max over, elle ne peut être écrite que comme suit :

SELECT tt.*
FROM table tt
  INNER JOIN (SELECT
                keyword,
                max(click_count) maxcount
              FROM table
              GROUP BY keyword) groupedtt ON tt.keyword = groupedtt.keyword AND tt.click_count = groupedtt.maxcount
ORDER BY tt.create_time
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal