有人可以解释如何进行此查询:
我必须选择所有没有重复的字段" idPrdodotto"
那是我的不工作的问题:
SELECT *
FROM riempie1
WHERE idProdotto IN (SELECT DISTINCT idProdotto
FROM riempie1
);
答案 0 :(得分:3)
你似乎在学习SQL,所以我会有点冗长。
SELECT DISTINCT
子查询中的IN
什么都不做。什么都没有。 IN
隐式执行SELECT DISTINCT
,因为如果(1, 2, 3)
中存在某些内容,那么该内容位于(1, 1, 1, 2, 2, 3)
中。
您要做的是计算表中idProdotto
出现的次数。您希望idProdotto
值只显示一次。
一种典型的方法是使用GROUP BY
,COUNT(*)
和HAVING
。
答案 1 :(得分:0)
您无法在子查询中使用distinct。而不是你可以这样做
Select distinct column names,.. from table1 where column name= select statement;
答案 2 :(得分:0)
这样做:
SELECT riempie1.* FROM riempie1
join (select idProdotto from riempie1 group by riempie1 having count(riempie1)=1) riempie2
on riempie1.idProdotto = riempie2.idProdotto