【问题标题】:Select and count inside a select in mysql [duplicate]在mysql中的选择内选择和计数[重复]
【发布时间】:2014-02-26 18:00:49
【问题描述】:

我想向一个选择查询发送一个选择查询,然后计算结果。

我想做的是这样的:

SELECT `word_id`, SUM(`is_core`) as `cores` FROM `table` GROUP BY `word_id` ORDER BY  `cores` DESC;

然后我想向上面的查询发送一个选择查询。像这样的:

SELECT * FROM `THE QUERY ABOVE` WHERE `cores` >1;
SELECT FOUND_ROWS();

我们将不胜感激。

【问题讨论】:

  • 你只需要 found_rows 的数量吗?

标签: mysql sql


【解决方案1】:

试试这个..它提供总记录数。

Select count(word_id) from (SELECT `word_id`, SUM(`is_core`) as `cores` 
FROM `table` GROUP BY `word_id` ORDER BY  `cores` DESC having SUM(`is_core`) > 1)

【讨论】:

  • 我收到这个 sql 错误:#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的“有 SUM(is_core) > 1)”附近使用正确的语法
【解决方案2】:

为什么要使用嵌套查询?您可以通过单个查询获得相同的结果。

SELECT `word_id`, SUM(`is_core`) as `cores` 
FROM `table` 
GROUP BY `word_id` DESC 
HAVING `cores` > 1 
ORDER BY  `cores`;

【讨论】:

  • 我收到这个 sql 错误:#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'HAVING cores > 1 LIMIT 0, 30' 附近使用正确的语法
猜你喜欢
  • 1970-01-01
  • 2015-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-12
  • 1970-01-01
相关资源
最近更新 更多