sql >> データベース >  >> RDS >> Mysql

Djangoで同等のGROUP_CONCAT

    独自の集計関数を作成できます( doc

    from django.db.models import Aggregate
    
    class Concat(Aggregate):
        function = 'GROUP_CONCAT'
        template = '%(function)s(%(distinct)s%(expressions)s)'
    
        def __init__(self, expression, distinct=False, **extra):
            super(Concat, self).__init__(
                expression,
                distinct='DISTINCT ' if distinct else '',
                output_field=CharField(),
                **extra)
    

    単に次のように使用します:

    query_set = Fruits.objects.values('type').annotate(count=Count('type'),
                           name = Concat('name')).order_by('-count')
    

    django1.8とmysql4.0.3を使用しています



    1. 暗号化されたストアドプロシージャの本文をSSMSで表示するにはどうすればよいですか?

    2. MariaDBで特定の文字のASCIIコードを返す2つの方法

    3. SQL Server(T-SQL)でデータベースメールアカウントとデータベースプリンシパル間の関連付けを検索する

    4. MySQLは日付に日を追加します