在选择表时,需要在列名(TGroup_Name)下使重复值为空或为空
例如:
在下表中,列名(TGroup_Name)在两行中具有重复值(ED_1)。所以我想把第二行的值设为空,但不应该影响整行。
TGID t租金组名称TGroup类型TEID TEmp组名称TEmp类型
10 MD G 10 1 Mallik GH公司
10 1编辑1 G 5 10 Thevan GH
10 1 ED_1 G 7 10古普塔
11 1 ED_2 G 11 11餐厅

最佳答案

大多数开发人员认为最好使用应用程序端的过程代码(如Java或PHP)在其结果集中抑制这样连续的重复值。
但是你可以在SQL的MySQL变体中这样做(http://sqlfiddle.com/#!2/691f5/4/0)。

SELECT TGID,
       TParent,
       IF(Group_ID=@PREV,'',@PREV:=Group_ID) AS Group_ID,
       TGroup_Name
  FROM TABLE1,
       (SELECT @PREV:='xxxx') AS i
 ORDER BY TABLE1.TGID

IF@prev的运行值组合可抑制连续重复。额外的(SELECT...)子查询用于初始化@prev
这是一件棘手的事情。例如,如果你只是说ORDER BY TGID而不是我所展示的内容,它就会出错。它对于其他品牌和型号的表服务器也是完全不可移植的。

07-28 02:43
查看更多