好吧,我刚刚遇到一种奇怪的行为,这是我之前从未见过或未曾注意到的。
我正在使用此查询:
SELECT *,
COUNT(*) AS pages
FROM notis
WHERE cid = 20
ORDER BY nid DESC
LIMIT 0, 3
…阅读3个项目,但同时我想获取总行数。
…当我使用count时,查询仅返回一行,但是如果我删除 COUNT(*) AS pages
-我会得到3行。显然,我在这里错过了一些东西。
是的,count是一个聚合运算符,它仅返回一行(没有group by子句)
也许做两个单独的查询?让该行返回数据和总行数是没有意义的,因为该数据不属于一起。
如果您真的想要它,可以执行以下操作:
SELECT *, (select count(*) FROM notis WHERE cid=20) AS count FROM notis WHERE cid=20 ORDER BY nid DESC LIMIT 0,3
或这个:
SELECT N.*, C.total from notis N join (select count(*) total FROM notis WHERE cid=20) C WHERE cid=20) AS count FROM notis WHERE cid=20 ORDER BY nid DESC LIMIT 0,3
嵌套表达式的方差取决于您的SQL方言。
问题内容: 我有这个简单的PHP代码: 它仅返回以下内容: 我的表中有3500多行,并且在PhpMyAdmin中运行SQL效果很好。 问题答案: 您的示例拼写错误 每次调用时以及行外时都会返回一行。通过在条件中为其分配变量来利用它,以发挥您的优势。在循环中,将是当前行。
问题内容: 好的,我有以下代码: 然后,当我尝试回显内容时,只能回显输出第一项,但是如果我尝试回显,则会得到未定义的偏移量。 但是,如果我通过PHPMyAdmin运行以上查询,它将返回10个项目的列表。为什么不能将其识别为10个项的数组,让我回显0-9? 谢谢您的帮助。 问题答案: 那是因为数组代表返回结果集中的一行。您需要再次执行该功能以获得下一条记录。例:
本文向大家介绍仅返回使用MySQL DISTINCT出现一定次数的字段?,包括了仅返回使用MySQL DISTINCT出现一定次数的字段?的使用技巧和注意事项,需要的朋友参考一下 要返回出现一定次数的字段,语法如下: 让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 以下是查询以返回使用MySQL DISTINCT出现一定次数的
问题内容: 我每月都有一组职位。现在,我需要一个数组,其中包含每个月发布的帖子总数。我尝试下面的MySql查询,它的工作正常,但我期望0(零)几个月没有记录。在这里,它不返回0。 我读到COUNT()不会返回“ 0”,那么我该如何实现呢? 我尝试了IFNULL()和COALESCE(),但仍然得到相同的结果。请帮助此查询。谢谢你...... 结果: 预期结果(没有一月份的职位): 样本数据: 问题
问题内容: 此代码仅返回一行,但应返回2行。我在phpMyAdmin中尝试了SQL,它完美返回了2行。我在这里做错了什么? 顺便说一句,上面的代码通过以下脚本将程序移至profile.php: 问题答案: 您需要遍历结果(如TheSmose所述) 并且 您需要将结果数组发送到模板而不是。 改变这个 对此 如果您不只是想要模板中的内容(并且您不需要PHP> = 5.3 ),那么您将需要在循环内构建自
问题内容: 考试分为4个部分,每个部分都有不同数量的问题。我想知道,对于每个学生和每个部分,他们正确回答了多少个问题(响应= 1)。 但是,通过此查询,如果学生在给定的部分中没有正确的问题,则该行将完全不在我的结果集中。我如何确保每位学生总是返回4行,即使一行的“总计”为0也是如此? 这是我的结果集的样子: 感谢您的任何见解! 更新:我试过了 而这完全没有改变结果。还有其他想法吗? 更新2:由于以