SQL Where 子句:所有字段都相等,除了一个
SQL Where clause: all fields equal, except one
我可以得到一个条目,它在所有字段中都相等,除了已定义的吗?
例如:
SELECT a.*
FROM table_name a
INNER JOIN table_name b
on (a.price = b.price
AND a.quantity = b.quantity
AND {all the remaining params})
AND a.id <> b.id
我需要找到相同的条目,除了它的 ID(重复条目)
将您的 "AND a.id <> b.id" 更改为 "WHERE a.id <> b.id",这应该适合您。
您可以将 SELECT
与 GROUP BY
子句一起使用。
例如,如果您有一个名为 names
的 table,其中有一列 name
,您要检查该列是否重复。你可以这样做:
select name, count(*) c from names group by name having c > 1;
这还将 return 一个额外的列,指示重复值在行中出现的次数。
希望对您有所帮助。
我可以得到一个条目,它在所有字段中都相等,除了已定义的吗?
例如:
SELECT a.*
FROM table_name a
INNER JOIN table_name b
on (a.price = b.price
AND a.quantity = b.quantity
AND {all the remaining params})
AND a.id <> b.id
我需要找到相同的条目,除了它的 ID(重复条目)
将您的 "AND a.id <> b.id" 更改为 "WHERE a.id <> b.id",这应该适合您。
您可以将 SELECT
与 GROUP BY
子句一起使用。
例如,如果您有一个名为 names
的 table,其中有一列 name
,您要检查该列是否重复。你可以这样做:
select name, count(*) c from names group by name having c > 1;
这还将 return 一个额外的列,指示重复值在行中出现的次数。
希望对您有所帮助。