[解決済み] Djangoは重複するフィールド値を持つ行のみを選択する
2022-08-05 20:53:43
質問
django で以下のように定義されたモデルがあるとします。
class Literal:
name = models.CharField(...)
...
Nameフィールドは一意ではないので、値が重複する可能性があります。以下のタスクを達成する必要があります。
モデルから
少なくとも1つの重複する値
の
name
フィールドの少なくとも1つの重複値
私はプレーンSQLを使用してそれを行う方法を知っています(最良の解決策ではないかもしれません)。
select * from literal where name IN (
select name from literal group by name having count((name)) > 1
);
では、django ORM を使ってこれを選択することは可能でしょうか?それとももっと良い SQL ソリューションですか?
どのように解決するのですか?
試してみてください。
from django.db.models import Count
Literal.objects.values('name')
.annotate(Count('id'))
.order_by()
.filter(id__count__gt=1)
これは Django で得られるものに限りなく近いです。問題は、これが
ValuesQuerySet
だけで
name
と
count
. しかし、これを利用して、通常の
QuerySet
を別のクエリにフィードバックすることで構築できます。
dupes = Literal.objects.values('name')
.annotate(Count('id'))
.order_by()
.filter(id__count__gt=1)
Literal.objects.filter(name__in=[item['name'] for item in dupes])
関連
-
解決策:ユーザー root で localhost:3306 にある MySQL に接続できませんでした。
-
MHAの高可用性構成とフェイルオーバー
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] ...値に挿入する ( SELECT ... FROM ... )
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] SQL Serverでテーブルからカラム名を取得するにはどうすればよいですか?
-
[解決済み] MYSQLでMAX(列の値)、PARTITIONで別の列で行を選択するにはどうすればよいですか?
-
[解決済み] SQL JOIN - WHERE句とON句の比較
-
[解決済み] SQL SELECT WHERE フィールドに単語が含まれる場合
-
[解決済み】countとgroup byを同じselect文で使用する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[エラー処理] [MySQL] [Err] 1241 - オペランドは 1 つのカラムを含む必要があります。
-
MHAの高可用性構成とフェイルオーバー
-
[解決済み] ストアドプロシージャ 'dbo.aspnet_CheckSchemaVersion' が見つかりませんでした。
-
[解決済み] Oracle Trigger ORA-04098: トリガーが無効で、再バリデーションに失敗しました。
-
[解決済み] 1つのPostgreSQLクエリで複数のWITHステートメントを使用するには?
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server - 挿入された行のIDを取得するための最良の方法は?
-
[解決済み] 最初の行への結合方法
-
[解決済み] MySQLでFULL OUTER JOINを行うにはどうすればよいですか?
-
[解決済み] SQL ServerにおけるINSERT OR UPDATEに関する解決策