用一个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的行。


谢谢
...全文
119 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为什么在第二个?
内容概要:本文介绍了一款基于Matlab开发的图形用户界面(GUI)仿真器,旨在研究和对比选择映射(SLM)与部分传输序列(PTS)两种技术在降低正交频分复用(OFDM)系统峰均功率比(PAPR)方面的性能表现。该仿真器通过模块化设计实现了OFDM信号的生成、PAPR计算以及SLM和PTS算法的集成应用,并利用互补累积分布函数(CCDF)曲线对不同方案的PAPR抑制效果进行量化评估。系统具备良好的交互性与可视化能力,便于用户调整参数、观察结果,深入理解PAPR问题的成因及其抑制机制,适用于通信系统教学与科研场景。; 适合人群:通信工程、电子信息类专业的本科高年级学生、研究生,以及从事无线通信系统设计、信号处理算法研究的科研人员与工程技术人员。; 使用场景及目标:① 深入理解OFDM系统中高峰均功率比(PAPR)现象的物理本质及其对系统性能的影响;② 掌握SLM与PTS两类主流PAPR抑制技术的工作原理、实现流程与优缺点;③ 借助Matlab进行通信系统建模与仿真,完成算法实现、性能对比(如CCDF分析)与优化;④ 支持课程设计、毕业设计、学术论文写作及科研项目中的算法验证与实验数据分析。; 阅读建议:建议读者结合数字通信与信号处理基础知识,首先理解OFDM调制的基本原理及PAPR产生的根源,随后逐步运行并调试仿真代码,尝试改变子载波数量、迭代次数、相位因子集合等关键参数,观察其对PAPR改善效果的影响,从而深化对算法机制的理解,并为进一步的创新性研究奠定实践基础。

57,065

社区成员

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

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