如何获取所有记录而不重复
How to get all records without duplicate
大家好,我正在尝试获取所有记录而不重复。
这里是我的示例数据库记录。
(`id`, `productName`, `description`)
-----------------------------------------------
(1, 'OpenIDM', 'Platform for building enterprise provisioning solutions'),
(2, 'OpenAM', 'Full-featured access management'),
(3, 'OpenDJ', 'Robust LDAP server for Java'),
(4, 'OpenDJ', 'Robust LDAP server for Java') !!This line should not appear after SQL result
我想用 SQL
得到什么
(`id`, `productName`, `description`)
-----------------------------------------------
(1, 'OpenIDM', 'Platform for building enterprise provisioning solutions'),
(2, 'OpenAM', 'Full-featured access management'),
(3, 'OpenDJ', 'Robust LDAP server for Java'),
这是我针对这个主题的 SQL 片段。
select productName
from ForgeRock
WHERE productName in (select productName from ForgeRock group by productName having count(*)>1)
http://sqlfiddle.com/#!9/6c924/121
如何获取所有元素而不重复?感谢您的帮助。
id的取值有特殊要求吗?
一个简单的 MIN()
函数就可以解决问题
SELECT MIN(`id`),
`productName`,
`description`
FROM ForgeRock
GROUP BY `productName`, `description`
一种方法是获取最小id的数据
select min(`id`),`productname`,`description` from forgerock
group by `productname`, `description`
我认为你必须使用 DISTINCT
select distinct productName,description from ForgeRock;
这是 fiddle 的 mi 结果:
http://sqlfiddle.com/#!9/6c924/132
大家好,我正在尝试获取所有记录而不重复。
这里是我的示例数据库记录。
(`id`, `productName`, `description`)
-----------------------------------------------
(1, 'OpenIDM', 'Platform for building enterprise provisioning solutions'),
(2, 'OpenAM', 'Full-featured access management'),
(3, 'OpenDJ', 'Robust LDAP server for Java'),
(4, 'OpenDJ', 'Robust LDAP server for Java') !!This line should not appear after SQL result
我想用 SQL
得到什么 (`id`, `productName`, `description`)
-----------------------------------------------
(1, 'OpenIDM', 'Platform for building enterprise provisioning solutions'),
(2, 'OpenAM', 'Full-featured access management'),
(3, 'OpenDJ', 'Robust LDAP server for Java'),
这是我针对这个主题的 SQL 片段。
select productName
from ForgeRock
WHERE productName in (select productName from ForgeRock group by productName having count(*)>1)
http://sqlfiddle.com/#!9/6c924/121
如何获取所有元素而不重复?感谢您的帮助。
id的取值有特殊要求吗?
一个简单的 MIN()
函数就可以解决问题
SELECT MIN(`id`),
`productName`,
`description`
FROM ForgeRock
GROUP BY `productName`, `description`
一种方法是获取最小id的数据
select min(`id`),`productname`,`description` from forgerock
group by `productname`, `description`
我认为你必须使用 DISTINCT
select distinct productName,description from ForgeRock;
这是 fiddle 的 mi 结果:
http://sqlfiddle.com/#!9/6c924/132