You need to enable JavaScript to run this app. SQL分组统计查询中实现最新录入电阻记录置顶的方法咨询
优惠活动
大模型
产品
解决方案
定价
更多

SQL分组统计查询中实现最新录入电阻记录置顶的方法咨询

最近录入的电阻优先排序的统计SQL实现方案

你当前写的分组统计、计算每个电阻累计录入次数的逻辑是完全没问题的,要实现「最近录入的电阻对应统计行排结果最顶部」的需求,不用改动原有核心统计逻辑,只需要补充排序依据就行。

实现逻辑说明

  • 首先先确定表里用来判断录入先后的字段,一般有两类可选:
    • 表自带的自增主键(比如常用的id字段,数值越大代表录入时间越靠后)
    • 记录录入时间的字段(比如submit_time、create_time,时间值越大代表录入时间越晚)
  • 因为是按RT_resistor做分组统计,所以只要对选中的顺序字段取组内最大值,这个值就是对应电阻最近一次录入的标识
  • 最后按这个最大标识做倒序排序,就能保证最新被录入的电阻,对应的统计行会排在结果集最靠前的位置。

具体SQL写法

场景1:用自增主键判断录入顺序

如果表中存在自增主键id作为录入顺序的判断依据,可直接按以下方式编写SQL,不需要改动原有查询的列结构:

SELECT 
  RT_resistor, 
  COUNT(RT_resistor) as qty
FROM RMR_RT_resistor
WHERE location = 'KOG' 
  AND PL = 'PBW' 
  AND Submit_User='1' 
  AND RT_label='Mohm' 
  AND resistor_type='MF'
GROUP BY RT_resistor
-- 按组内最大自增ID倒序,最新录入的排最前
ORDER BY MAX(id) DESC

场景2:用录入时间判断顺序

如果表中是靠录入时间字段(比如字段名为submit_time)判断录入先后,只需要把排序部分的聚合逻辑替换为取最大时间值即可:

SELECT 
  RT_resistor, 
  COUNT(RT_resistor) as qty
FROM RMR_RT_resistor
WHERE location = 'KOG' 
  AND PL = 'PBW' 
  AND Submit_User='1' 
  AND RT_label='Mohm' 
  AND resistor_type='MF'
GROUP BY RT_resistor
ORDER BY MAX(submit_time) DESC

注意:直接把聚合逻辑写在ORDER BY子句里的写法,不会改变原有查询返回的列结构,完全适配你现有的结果读取逻辑,不需要做额外适配。如果后续需要在结果里同时展示每个电阻最近一次的录入时间,只需要把对应的MAX()值加到SELECT子句里就行。

内容的提问来源于stack exchange,提问作者Nadishka Jayashan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.05 09:36:08