用一个SQL语句不知道能否实现这个功能?

yifanwu 2010-06-26 05:04:34
一个表:
id parent_id value
1 0 0
2 0 0
3 1 1
4 2 1
5 1 2

要求输出:

id
1
5
3
2
4

就是先输出ID,再输出按value排序的parent_id=id的行。


谢谢
...全文
93 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2010-06-27
  • 打赏
  • 举报
回复
mysql> select * from t_yifanwu;
+------+-----------+-------+
| id | parent_id | value |
+------+-----------+-------+
| 1 | 0 | 0 |
| 2 | 0 | 0 |
| 3 | 1 | 1 |
| 4 | 2 | 1 |
| 5 | 1 | 2 |
+------+-----------+-------+
5 rows in set (0.03 sec)

mysql> select id
-> from t_yifanwu
-> order by if(parent_id=0,id,parent_id),parent_id,value desc;
+------+
| id |
+------+
| 1 |
| 5 |
| 3 |
| 2 |
| 4 |
+------+
5 rows in set (0.00 sec)

mysql>
yifanwu 2010-06-27
  • 打赏
  • 举报
回复
id parent_id value
1 0 0
2 0 0
3 1 1
4 2 1
5 1 2

要求输出:

id
1 1的parent_id为0
5 1是5的parent_id 同时,5的value值为2,将所有parent_id为1的行倒序排列,5排第一个
3 3的value为1,比5的value1要小,所以排第2
2 OK,上面所有parent_id为1的都列完了,现在开始列下一个 parent_id为0的行
4 这个的parent_id为2,所以列在2后面

谢谢楼上的回复,不知道这样问是否就是“提问的智慧”,再次感谢回复
ACMAIN_CHM 2010-06-26
  • 打赏
  • 举报
回复
问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧
ACMAIN_CHM 2010-06-26
  • 打赏
  • 举报
回复
[Quote]5为什么排在3前面?
4为什么排在2后面?
再按value值排序[/Quote]

能把 5 ,3,4,2的VALUE写出来说明一下你的排序规则吗?
yifanwu 2010-06-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 acmain_chm 的回复:]

5为什么排在3前面?
4为什么排在2后面?
[/Quote]再按value值排序
ACMAIN_CHM 2010-06-26
  • 打赏
  • 举报
回复
5为什么排在3前面?
4为什么排在2后面?

yifanwu 2010-06-26
  • 打赏
  • 举报
回复
1 是5 3 的parent 2是4的parent
ACMAIN_CHM 2010-06-26
  • 打赏
  • 举报
回复
没看懂排序的逻辑。

1 为什么在第一个?
5为什么在第二个?
内容概要:本文围绕双极晶体管(BJT)的工艺仿真展开,系统介绍了使用TCAD工具进行半导体器件仿真的完整流程,重点涵盖工艺仿真、网格重划分与器件特性仿真三个核心环节。通过具体实验步骤,详细阐述了如何利用Sentaurus TCAD进行2D BJT结构的工艺建模,包括掩膜定义、掺杂注入、沉积与刻蚀等关键工艺步骤的仿真实现,并深入讲解了工艺仿真后进行网格重划分的必要性及其技术方法,如清除原有网格、设置自适应与界面细化策略、添加电极接触等。最后通过特性仿真验证工艺设计的合理性,形成“工艺设计→结构生成→网格重构→电学性能仿真”的闭环流程,帮助理解工艺参数对器件性能的影响机制。; 适合人群:微电子、集成电路相关专业高年级本科生、研究生,以及从事半导体器件工艺研发的工程技术人员;需具备半导体物理、固体电子学及基本编程命令理解能力。; 使用场景及目标:①掌握TCAD仿真中工艺仿真与器件特性仿真的协同流程;②理解并实践网格重划分的关键技术,提升仿真精度与效率;③通过BJT工艺实例深入理解双极晶体管的制造流程与结构特征,支持课程实验、科研项目或工艺开发中的仿真需求; 阅读建议:建议结合Sentaurus软件环境边操作边学习,重点关注命令脚本中refinebox、contact、implant等关键语句的应用逻辑,对比不同网格策略对仿真结果的影响,强化理论与实践的结合。
内容概要:本文提供了一个基于Apache POI库实现的Java工具类DOMDocumentMerger,用于高效合并Word文档(.docx)与图片文件。该工具支持将多个源文档的内容(包括段落、表格和嵌入图片)通过XML DOM操作直接插入到目标文档中,并正确处理图片资源的关系映射与引用更新,确保合并后文档的完整性与格式一致性。核心功能包括插入首页内容、追加末页内容、自动识别文件类型、维护图片关系ID、添加分页符以及错误处理机制。代码采用Lombok简化日志调用,利用XmlCursor进行精准的XML节点操作,提升了处理效率与稳定性。 适合人群:熟悉Java编程语言及POI框架,具备一定Office文档处理经验的开发人员,尤其是从事文档自动化、报表生成或系统集成相关工作的技术人员。 使用场景及目标:① 实现多份Word报告或合同的自动拼接;② 将图文混排的内容批量整合进统一模板;③ 在生成文档过程中动态插入图片并保持格式规范;④ 提升大规模文档处理任务的执行效率与可靠性。 阅读建议:此资源侧重于底层XML操作与文档结构解析,建议结合Apache POI官方文档深入理解CTBody、CTP、CTTbl等对象的作用,同时注意流管理与异常控制的最佳实践,在实际应用中做好资源释放与错误兜底处理。
【参数估计】双扩展卡尔曼滤波器,用于时变MVAR参数估计(Matlab实现)内容概要:本文介绍了基于双扩展卡尔曼滤波器(Dual EKF)用于时变多元自回归(MVAR)模型参数估计的方法,并提供了完整的Matlab实现代码。该方法适用于处理具有时变特性的动态系统参数估计问题,通过构建状态空间模型,利用扩展卡尔曼滤波技术对MVAR模型的时变参数进行实时跟踪与估计,有效提升了在非平稳信号环境下的参数估计精度与稳定性。文中详细阐述了算法原理、数学推导过程及其实现步骤,并结合实际仿真案例验证了方法的有效性与实用性。; 适合人群:具备一定信号处理、控制理论或系统辨识基础,从事相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于脑电信号(EEG)、金融时间序列、生理信号等非平稳动态系统的建模与分析;②实现对时变参数的在线估计与跟踪,提升动态系统建模的准确性;③为复杂系统状态监测、故障诊断与预测提供技术支持。; 阅读建议:建议读者结合Matlab代码逐行理解算法实现细节,重点掌握状态方程与观测方程的构建方式、雅可比矩阵的计算以及滤波器的迭代流程,同时可通过修改仿真参数进行实验对比,加深对双EKF工作机制的理解。
考虑不确定性的含集群电动汽车并网型微电网随机优化调度研究(Matlab代码实现)内容概要:本文围绕含集群电动汽车并网型微电网的随机优化调度展开研究,重点考虑了系统中存在的多重不确定性因素,如电动汽车充电行为的随机性、可再生能源出力波动以及负荷变化等。通过构建随机优化调度模型,利用Matlab进行仿真求解,旨在实现微电网在并网条件下的经济性、稳定性和可靠性优化。研究结合YALMIP等工具箱对模型进行高效求解,综合考虑电动汽车集群的有序充电管理、能量调度策略与电网交互关系,提升微电网对不确定环境的适应能力。文中还提供了完整的代码资源与案例分析,便于科研人员复现与拓展。; 适合人群:具备一定电力系统、优化理论及Matlab编程基础的研究生、科研人员及从事微电网、电动汽车相关领域的工程技术人员。; 使用场景及目标:①用于科研项目中微电网优化调度模型的构建与仿真验证;②支撑论文写作与算法复现,特别是涉及不确定性建模、鲁棒优化或随机规划的研究方向;③为含高比例电动汽车接入的智能电网提供调度策略设计参考。; 阅读建议:建议读者结合提供的Matlab代码与网盘资料,逐步调试与理解模型实现细节,重点关注不确定性建模方法与优化求解过程,同时可延伸至其他智能算法(如遗传算法、粒子群等)在同类问题中的应用比较。

57,063

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧