Maison  >  Questions et réponses  >  le corps du texte

python - Comment écrire une telle instruction MySQL pour GROUP BY dans Django?

Je suis nouveau sur Django (également un salaud de MySQL)
J'ai cherché sur Baidu et essayé d'écrire une syntaxe MySQL. Je veux utiliser Django pour l'écrire, mais je ne peux pas, alors je suis venu ici pour obtenir de l'aide,
mysql. c'est

SELECT keywords_id, MAX(id) AS id FROM news_article GROUP BY
keywords_id ORDER BY id DESC LIMIT 0,10

Où 'keywords_id' est la clé étrangère de la table 'news_article', dans le modèle Article

;

L'objectif principal est le suivant : je souhaite extraire les 10 dernières données uniques dans le champ 'keywords_id' de la table 'news_article' et pouvoir lire les valeurs des autres champs (utilisez cette syntaxe mysql pour extraire d'abord la valeur d'identifiant unique, puis utilisez la valeur d'identifiant pour le faire. Extrayez conditionnellement les valeurs des autres champs, puis affichez-les sur la page du modèle).

Je ne sais pas si la description du problème est claire, je suis donc là pour vous aider~

怪我咯怪我咯2690 Il y a quelques jours747

répondre à tous(2)je répondrai

  • PHPz

    PHPz2017-06-07 09:26:57

    S'il s'agit simplement d'une simple analyse et d'un traitement de données qui n'implique pas l'utilisation du multi-threading dans la base de données, il est recommandé d'utiliser le module pandas, qui a une bonne méthode groupby. Vous pouvez voir s'il est intuitif et applicable.
    django-pandas est disponible pour Django, il est recommandé de l'essayer.
    La déclaration des pandas s'écrira probablement ainsi :

    import pandas as pd
    ...
    df = pd.DataFrame(news_article.groupby('keywords_id'))
    df.sort_values(by=['id'], ascending = False)[0:10]
    

    répondre
    0
  • 世界只因有你

    世界只因有你2017-06-07 09:26:57

    from django.db.models import Max
    
    Article.objects.values('keywords_id').annotate(maxid=Max('id')).order_by['-id'][:10]
    

    La structure est à peu près comme ceci, les détails devront peut-être être débogués
    Référence
    https://docs.djangoproject.co...

    répondre
    0
  • Annulerrépondre