相关疑难解决方法(0)

Sql server联合但保持顺序

有没有办法结合两个表,但是保持第一个表中的行首先出现在结果集中?

例如:

表格1

name        surname
-------------------
John         Doe
Bob          Marley
Ras          Tafari
Run Code Online (Sandbox Code Playgroud)

表2

name       surname
------------------
Lucky      Dube
Abby       Arnold
Run Code Online (Sandbox Code Playgroud)

我希望结果集为:

name        surname
-------------------
John         Doe
Bob          Marley 
Ras          Tafari
Lucky      Dube
Abby       Arnold
Run Code Online (Sandbox Code Playgroud)

不幸的是,工会以某种方式重新排序表.有没有解决的办法?

sql-server

23
推荐指数
3
解决办法
2万
查看次数

Django的NotImplementedError:未实现annotate()+ distinct(fields)

有2个简单的模型:

class Question(TimeStampedModel):
    text = models.CharField(max_length=40)

class Answer(TimeStampedModel):
    question = models.ForeignKey(Question, related_name='answers')
    is_agreed = models.BooleanField()
    author = models.ForeingKey(User, related_name='answers')
Run Code Online (Sandbox Code Playgroud)

现在,我将描述我的问题.

In [18]: Question.objects.count()
Out[18]: 3
Run Code Online (Sandbox Code Playgroud)

我需要使用'is_user_agreed'和'answers_amount'字段来注释queryset:

In [18]: user = User.objects.first() 
In [19]: qs = Question.objects.annotate(
    ...:             is_user_agreed=Case(
    ...:                 When(answers__in=user.answers.filter(is_agreed=True), then=Value(True)),
    ...:                 When(answers__in=user.answers.filter(is_agreed=False), then=Value(False)),
    ...:                 default=Value(None),
    ...:                 output_field=NullBooleanField(),
    ...:             ),
    ...:         ).annotate(answers_amount=Count('answers'))
    ...: qs.count()
Out[19]: 4 
Run Code Online (Sandbox Code Playgroud)

^这里的数量是4,但我在db中只有3个问题 :(所以,我试过了distinct()

In [20]: qs.distinct().count()
Out[20]: 4  # but distinct doesn't work

In [21]: qs.distinct('id').count()
Run Code Online (Sandbox Code Playgroud)

在最后一行代码之后我得到了这个例外:

NotImplementedError: annotate() + distinct(fields) is not implemented. …
Run Code Online (Sandbox Code Playgroud)

python django postgresql

12
推荐指数
1
解决办法
4236
查看次数

标签 统计

django ×1

postgresql ×1

python ×1

sql-server ×1