在选择表时,需要在列名(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
而不是我所展示的内容,它就会出错。它对于其他品牌和型号的表服务器也是完全不可移植的。