【发布时间】:2016-07-08 10:11:36
【问题描述】:
我正在使用 MySql,我有一种情况,我想从表中返回所有行的计数,并通过在同一查询中使用限制返回一些行。我尝试了很多事情,但我无法做到。请帮帮我
假设我的桌子是:学生
id | name | category | gender
1 'A' 'Just' 'male'
2 'B' 'Just' 'Female'
3 'C' 'Just' 'male'
4 'D' 'Just' 'Female'
5 'E' 'Just' 'male'
输出:
id | name | category | gender | rcount
1 'A' 'Just' 'male' 5
2 'B' 'Just' 'Female' 5
3 'C' 'Just' 'male' 5
我想要单个查询的上述输出,请帮助我?
【问题讨论】:
-
不可能在单个语句中同时执行两个 mysql 查询,因为不能在单个语句中运行 2 个 mysql 查询,期望编写子查询,这将再次被视为 2 个查询
-
我也尝试使用表别名编写子查询,但它没有给出正确的输出。你可以试试
-
请原谅我之前的评论,您首先必须执行 SQL_CALC_FOUND_ROWS,然后您可以执行 SELECT FOUND_ROWS() 这是一种方法,另一种方法是您可以避免 FOUND_ROWS() 并使用简单的 count(*)所以这可能会让你们俩都得到一个查询
-
np Rupal,非常感谢您的快速回复。您能否提供(在单个查询中使用 count(*) 编写查询)您的第二个选项。我已经尝试过了,但在这种情况下,计数是正确的,但我得到的只有一行是错误的。
-
感谢 Rupal,您编写的查询与 P.Salmon 之前建议的相同。我不能用这个