gpt4 book ai didi

mysql - MySQL中如何对多个条件的结果进行排序

转载 作者:行者123 更新时间:2023-11-30 01:31:39 29 4
gpt4 key购买 nike

我正在尝试建立一个数据库来存储调查、问题、答案这样我就可以动态生成调查、获取答案并从中生成报告。

问题如何按以下顺序对结果进行排序?按 *surveys_questions.sort* 排序,但是,如果父 ID > 0,那么我需要将所有子项放在其下,并按 *surveys_controls.sort* 对子项进行排序。

我有 5 张 table :

  1. 用于保存每项调查名称的调查表(家庭收入调查)
  2. “问题”表,用于存储调查中的所有问题。请注意parent_id 列。当我想提出子问题时将使用此一次
  3. 用于存储可用工具的表。文本框、单选按钮、复选框......
  4. “答案”表
  5. 用于存储问题和相关工具之间关系的表。例如,问题 1 将具有工具 ID 1(单选按钮),并且默认情况下会选择它...

现在我遇到的问题是我无法正确对结果或答案进行排序。

您可以在此链接上找到我的代码并运行查询 http://sqlfiddle.com/#!2/2ee97/1

注意:我在此链接上创建了问题的缩小版本 http://sqlfiddle.com/#!2/d9f6e3/4
如果有人可以帮助他解决这个问题,那么我将使用相同的解决方案来解决实际问题。

最佳答案

在 ORDER BY 行中尝试此操作:

ORDER BY CASE WHEN q.parent_id = 0 THEN q.question_id WHEN q.parent_id !=0 THEN q.parent_id = 0 END ASC, q.sort, t.sort

这是Fiddler

关于mysql - MySQL中如何对多个条件的结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17383035/

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