gpt4 book ai didi

SQL 如何根据 "order"字段对子行进行排序?

转载 作者:行者123 更新时间:2023-12-02 08:12:33 27 4
gpt4 key购买 nike

我想自从我编写 SQL 以来已经有一段时间了,我被这个看似微不足道的要求难住了:我想将一个父表和一个子表连接在一起,并通过一个名为“order”的字段对子列进行排序子表。

假设您有一个question 表和一个question_answer 表:

question ( question_id, question_text )
question_answer ( answer_id, question_id, answer_text, display_order )

因此对于每个问题都可以有多个答案,每个答案都有一个display_order字段。

下面是一些数据的样子:

question
--------
1, "How much milk should I add""
2, "About how fast was he going?"

question_answer
---------------

1, 1, "A little", 0
2, 1, "Moderate", 1
3, 1, "A lot", 2
4, 2, "Pretty slow", 0
5, 2, "Average", 1
6, 2, "Like a bat out of hell", 2

因此,加入 questionquestion_answer 时的预期结果将显示问题及其每个答案,但这些答案将按 display_order 给定,在问题的答案中。

一个简单的查询,例如

select
q.question_text,
qa.answer_text
from
question q,
question_answer qa
where
q.question_id = qa.question_id
order by
qa.display_order

display_order 对结果集中的所有行进行排序,而不是仅按其 display_order 对问题的每组答案进行排序

迈克尔

最佳答案

按 q.question_id、qa.display_order 排序

关于SQL 如何根据 "order"字段对子行进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45156119/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com