You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL表中如何实现QA_CONTACT_NAME列同值记录连续排列

MySQL按指定字段分组连续排序实现方案

要实现相同QA_CONTACT_NAME值的记录连续排列,分两种场景处理即可:


场景1:无不同姓名组的先后顺序要求

直接对QA_CONTACT_NAME字段做普通排序即可,SQL中同一排序键的记录会自然连续排列,参考语句:

SELECT 
  LOT_LOCATION,
  `Zone Attribute`,
  LOTID,
  Design_ID,
  Board_ID1,
  QA_WORK_REQUEST_NO,
  QA_CONTACT_NAME
FROM 替换为你的实际表名
ORDER BY QA_CONTACT_NAME;

注意:字段名Zone Attribute包含空格,MySQL中需要用反引号包裹,否则会报语法错误。

这种写法会按照QA_CONTACT_NAME的字符串字典序排列,分组顺序固定为JFAJARDO→TUNELITING→WENGXINCHAN,和你给出的预期分组顺序不一致。


场景2:需要指定不同姓名组的先后顺序(匹配你的预期结果)

使用MySQL内置的FIELD()函数自定义分组优先级,可以完全控制不同姓名组的排列顺序,参考语句:

SELECT 
  LOT_LOCATION,
  `Zone Attribute`,
  LOTID,
  Design_ID,
  Board_ID1,
  QA_WORK_REQUEST_NO,
  QA_CONTACT_NAME
FROM 替换为你的实际表名
ORDER BY
  -- 按传入的姓名顺序排分组优先级,和你预期的WENGXINCHAN→JFAJARDO→TUNELITING顺序完全一致
  FIELD(QA_CONTACT_NAME, 'WENGXINCHAN', 'JFAJARDO', 'TUNELITING'),
  -- 同姓名组内的排序规则,可根据业务需求替换为自增ID、入库时间、QA_WORK_REQUEST_NO等字段
  LOTID;

函数说明:

FIELD(列名, 值1, 值2, 值3...)会返回匹配值的位置序号:值1返回1、值2返回2、值3返回3,未在列表中的值返回0。按该函数结果排序时,会严格按照你传入的姓名顺序分组,同姓名记录自然连续。
如果后续新增了其他QA_CONTACT_NAME值,只需要把新值按想要的顺序加到FIELD()函数的参数列表里即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 17:03:23