作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经尝试了几个语句,但似乎无法获得我需要的结果。到目前为止,这是我所拥有的,但这会产生一个空表。
我需要计算 wordnik_examples
表中 JOIN
中小于 20 的 word_id
的数量。
SELECT wordnik_examples.word_id,wordnik_word.word,count(wordnik_examples.word_id) as total
FROM `wordnik_examples`
JOIN `wordnik_word` ON wordnik_examples.word_id = wordnik_word.ID
WHERE (SELECT count(wordnik_examples.word_id) FROM `wordnik_examples`) < 20
GROUP BY wordnik_examples.word_id ORDER BY `total` DESC
我也试过
SELECT wordnik_examples.word_id,wordnik_word.word,count(wordnik_examples.word_id) as total
FROM `wordnik_examples`
JOIN `wordnik_word` ON wordnik_examples.word_id = wordnik_word.ID
WHERE total < 20
GROUP BY wordnik_examples.word_id ORDER BY `total` DESC
但是 mysql 返回一个错误,指出 total
列我们未知。
我还尝试对两个查询使用 HAVING
而不是 WHERE
,但效果不佳。
最佳答案
您的分组不够深入。如果您有两个“常规”列后跟一个聚合,则按两个“常规”列分组。 MySQL 很少允许您仅按非聚合列的子集进行分组。
至于按任何聚合过滤,这里指的是计数,您必须使用HAVING
。
SELECT
wordnik_examples.word_id,
wordnik_word.word,
count(wordnik_examples.word_id) as total
FROM wordnik_examples
JOIN wordnik_word ON wordnik_examples.word_id = wordnik_word.ID
GROUP BY
wordnik_examples.word_id,
wordnik_word.word
HAVING count(wordnik_examples.word_id) < 20
关于mysql - 使用 COUNT() 作为总计 AND WHERE 与 JOIN 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28416570/
我是一名优秀的程序员,十分优秀!