我有一个简单的mysql表:
CREATE TABLE IF NOT EXISTS `pers` (
`persID` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(35) NOT NULL,
`gehalt` int(11) NOT NULL,
`chefID` int(11) DEFAULT NULL,
PRIMARY KEY (`persID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
INSERT INTO `pers` (`persID`, `name`, `gehalt`, `chefID`) VALUES
(1, 'blb', 1000, 3),
(2, 'as', 1000, 3),
(3, 'chef', 1040, NULL);
Run Code Online (Sandbox Code Playgroud)
我试图运行以下更新,但我只得到错误1093:
UPDATE pers P
SET P.gehalt = P.gehalt * 1.05
WHERE (P.chefID IS NOT NULL
OR gehalt <
(SELECT (
SELECT MAX(gehalt * 1.05)
FROM pers …Run Code Online (Sandbox Code Playgroud) 我有一个表在Name列中有很多重复.我想每个只保留一行.
下面列出了重复项,但我不知道如何删除重复项,只保留一个副本:
SELECT name FROM members GROUP BY name HAVING COUNT(*) > 1;
Run Code Online (Sandbox Code Playgroud)
谢谢.
我有一个没有任何唯一键或主键的表。它有 50 列,其中任何或所有列都可以是重复的。如何删除所有重复行但保留第一次出现?