1
假设下面的查询:防止出现在结果计算列设置
SELECT meta_value as xyz, COUNT(*) AS count
FROM wp_postmeta
WHERE meta_key = "xyz" AND meta_value != ""
GROUP BY meta_value
HAVING count > 1
查询工作正常,但我不需要在我的结果count
列。如何排除count
列?
我知道我可以使用子查询(如下所示),但我想知道是否有更好的方法。
SELECT xyz FROM (
SELECT meta_value as xyz, COUNT(*) AS count
FROM wp_postmeta
WHERE meta_key = "xyz" AND meta_value != ""
GROUP BY meta_value
HAVING count > 1
) AS t
'HAVING count> 1'正在使用select中的别名计数...因此,您可以使用count(*)而不是HAVING子句中的别名,并从select中消除count(*)和别名。因此它变得像'SELECT meta_value as xyz ... HAVING count(*)> 1' – xQbert
这个问题的第一个答案应该可以解决你的问题:[stackoverflow.com/questions/7151401/...](https:/ /stackoverflow.com/questions/7151401/sql-query-for-finding-records-where-count-1)。将'COUNT(*)'移到你的'HAVING'子句... – War10ck
@xQbert将它添加为答案 – Shadow