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


谢谢
...全文
98 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为什么在第二个?
源码下载地址: https://pan.quark.cn/s/48210ff050c9 在生成具备死区间隔的脉冲宽度调制(PWM)信号时,STM32微控制器主要运用高级定时器(例如TIM1、TIM8)或通用定时器(如TIM2、TIM3、TIM4),这些定时器因其丰富的功能特性,能够支持复杂的PWM信号输出。 在当前应用场景下,死区间隔被设定为1微秒,此设置旨在电机驱动场景中防止功率开关器件的直通状态,避免电流尖峰,从而保护整个电路系统。 同时,CH1、CH2、CH3三个通道之间的相位间隔为3微秒,这种相位调制方式可用于三相电机的控制,达成对电机转矩的精准调控。 为了使STM32的定时器能够正常工作在PWM模式,需要进行一系列配置操作。 这些操作通常包括以下环节:1. **定时器初始化**:设定定时器的预分频器(Prescaler)参数,目的是获得期望的计数速率,例如,当系统时钟频率为72MHz,而目标PWM频率为50kHz时,预分频器的值应为72M/50K=1440。 2. **自动重载值(ARR)配置**:自动重载寄存器(ARR)的数值决定了PWM信号的整体周期。 以周期为20μs(对应1/50kHz)为例,ARR的值应设为20-1=19。 3. **比较通道选择**:涉及CH1、CH2、CH3等通道,它们分别与TIMx_CCR1、TIMx_CCR2和TIMx_CCR3寄存器相联系,通过设定这些寄存器的具体数值,可以控制各个通道的PWM占空比。 4. **死区时间设定**:利用TIMx_BDTR寄存器中的DTG字段来设定死区时间。 对于1微秒的死区间隔,必须依据定时器的工作模式与系统时钟速率来计算适宜的DTG参数。 5. **定时器启动**:完成所有配置后,使能定时器,PWM波形将...
代码下载链接: https://pan.quark.cn/s/38779f6f0507 《美食推荐系统的设计与实现》是一篇专注于美食推荐系统构建与运作的学术研究论文,其核心探讨的是如何设计并构建一个美食推荐系统,以更好地满足用户对美食的多样化需求并提升整体体验。该论文涵盖了美食推荐系统的需求调研、系统架构规划、系统开发执行以及系统质量检验等多个关键环节。在需求调研部分,论文首先阐述了中国餐饮行业的演进态势和城市生活节奏的提速,并强调了人们对饮食选择多样性和优化效果的追求。接着,论文强调了美食推荐系统在满足用户美食需求方面的必要性和核心价值。在系统架构规划部分,论文详细描述了美食推荐系统的整体布局和各功能模块的设计,包括用户信息管理单元、美食资讯管理单元、团购活动管理单元和推荐算法单元等。此外,论文还介绍了系统的数据结构设计和数据库构建方案,并采用了PHP+MYSQL+APACHE技术平台进行系统开发。在系统开发执行部分,论文记录了系统的构建过程,涉及前端与后端开发、数据库设计构建、系统测试及调试等环节。在系统质量检验部分,论文展示了系统的评估结果,涵盖性能测试、功能验证和安全防护测试等。该论文全面呈现了美食推荐系统的构建过程,有效满足了用户对美食的个性化需求与优化目标,展现出显著的实用价值和广阔的应用潜力。知识点:1. 美食推荐系统的需求调研,涉及中国餐饮业的发展态势、城市生活节奏的加快,以及人们对饮食选择多样化和优化效果的追求。2. 美食推荐系统的架构规划,包括系统的整体布局和功能模块设计,数据结构设计,以及采用PHP+MYSQL+APACHE技术平台进行系统开发。3. 美食推荐系统的构建过程,涵盖前端与后端开发、数据库设计构建、系统测试及调试等环节。4. 美...

57,064

社区成员

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

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