Sql 正确使用Group By、Count和Having
我有一个类别和项目的列表,我只想返回具有一种项目类型的类别。例如: 填充表:Sql 正确使用Group By、Count和Having,sql,Sql,我有一个类别和项目的列表,我只想返回具有一种项目类型的类别。例如: 填充表: Cat 1 | Item 1 Cat 1 | Item 1 Cat 1 | Item 2 Cat 1 | Item 2 Cat 1 | Item 3 Cat 1 | Item 3 Cat 1 | Item 3 Cat 2 | Item 1 Cat 2 | Item 1 我想回去 Cat 2 | Item 1 我试过: SELECT category, item FROM stuff GROUP BY catego
Cat 1 | Item 1
Cat 1 | Item 1
Cat 1 | Item 2
Cat 1 | Item 2
Cat 1 | Item 3
Cat 1 | Item 3
Cat 1 | Item 3
Cat 2 | Item 1
Cat 2 | Item 1
我想回去
Cat 2 | Item 1
我试过:
SELECT category, item
FROM stuff
GROUP BY category, item
HAVING Count(Distinct item) = 1
但它不起作用。我返回:
Cat 1 | Item 1
Cat 1 | Item 2
Cat 1 | Item 3
Cat 2 | Item 1
您应该从
GROUP BY
子句中删除项
,并运行以下命令:
SELECT category, MAX(item)
FROM stuff
GROUP BY category
HAVING COUNT(DISTINCT item) = 1
例如
否则,从
group BY
子句返回的每个组自然都会有一个不同的项。您应该从group BY
子句中删除项
,并运行以下操作:
SELECT category, MAX(item)
FROM stuff
GROUP BY category
HAVING COUNT(DISTINCT item) = 1
例如
否则,从
group BY
子句返回的每个组自然都会有一个不同的项。您应该从group BY
子句中删除项
,并运行以下操作:
SELECT category, MAX(item)
FROM stuff
GROUP BY category
HAVING COUNT(DISTINCT item) = 1
例如
否则,从
group BY
子句返回的每个组自然都会有一个不同的项。您应该从group BY
子句中删除项
,并运行以下操作:
SELECT category, MAX(item)
FROM stuff
GROUP BY category
HAVING COUNT(DISTINCT item) = 1
例如
否则,从
group BY
子句返回的每个组自然会有一个不同的项。您的数据库可能不允许您在select中有一个既不在group BY中也不在group BY中的变量
利用仅有一个项目的优势,您可以尝试:
SELECT category, MIN(item) AS item
FROM stuff
GROUP BY category
HAVING Count(Distinct item) = 1
可能您的数据库不允许您在select中包含既不在group by中也不在group by中的变量 利用仅有一个项目的优势,您可以尝试:
SELECT category, MIN(item) AS item
FROM stuff
GROUP BY category
HAVING Count(Distinct item) = 1
可能您的数据库不允许您在select中包含既不在group by中也不在group by中的变量 利用仅有一个项目的优势,您可以尝试:
SELECT category, MIN(item) AS item
FROM stuff
GROUP BY category
HAVING Count(Distinct item) = 1
可能您的数据库不允许您在select中包含既不在group by中也不在group by中的变量 利用仅有一个项目的优势,您可以尝试:
SELECT category, MIN(item) AS item
FROM stuff
GROUP BY category
HAVING Count(Distinct item) = 1
你说得对,我又试了一次,效果很好。谢谢你说得对,我又试了一次,效果很好。谢谢你说得对,我又试了一次,效果很好。谢谢你说得对,我又试了一次,效果很好。谢谢