suchen

Heim  >  Fragen und Antworten  >  Hauptteil

python - Wie schreibe ich eine solche MySQL-Anweisung für GROUP BY in Django?

Ich bin neu bei Django (auch ein Dreckskerl von MySQL)
Ich habe auf Baidu gesucht und versucht, eine MySQL-Syntax zu schreiben, aber ich kann nicht um Hilfe bitten MySQL ist

SELECT keywords_id, MAX(id) AS id FROM

GROUP BYnews_articlekeywords_id ORDER BY id DESC LIMIT 0,10

wobei „keywords_id“ der Fremdschlüssel der Tabelle „news_article“ im Artikelmodell ist;

Der Hauptzweck ist: Ich möchte die letzten 10 eindeutigen Daten im Feld „keywords_id“ in der Tabelle „news_article“ herausnehmen und die Werte anderer Felder lesen können (verwenden Sie zum ersten Herausnehmen diese MySQL-Syntax). den eindeutigen ID-Wert und verwenden Sie dann den ID-Wert, um die Werte anderer Felder bedingt zu extrahieren und sie dann auf der Vorlagenseite auszugeben.

Ich weiß nicht, ob die Problembeschreibung klar ist, deshalb bin ich hier, um Hilfe zu erhalten~

怪我咯怪我咯2732 Tage vor784

Antworte allen(2)Ich werde antworten

  • PHPz

    PHPz2017-06-07 09:26:57

    若只是單純的數據分析處理,不涉及數據庫的多線程使用的話,建議使用pandas模塊,裡面有很好的groupby方法,你可以看一下是否直觀適用。
    用於Django有django-pandas可用,建議試試。
    pandas的語句你的東西很可能就會寫成:

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

    Antwort
    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]
    

    结构大致是这样,细节可能要调试下
    参考
    https://docs.djangoproject.co...

    Antwort
    0
  • StornierenAntwort