Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

GROUP_CONCAT tương đương ở Django

Bạn có thể tạo Hàm tổng hợp của riêng mình ( 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)

và sử dụng nó đơn giản như:

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

Tôi đang sử dụng django 1.8 và mysql 4.0.3



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khớp tất cả các giá trị trong mệnh đề IN

  2. Cách sửa giá trị chuỗi không chính xác trong MySQL

  3. Làm cách nào để sử dụng Biến do người dùng xác định do người dùng MySql trong .NET MySqlCommand?

  4. Tìm kiếm MySQL trong danh sách dấu phẩy

  5. Tìm số cột trong bảng