【问题标题】:Getting last row doesnt work获取最后一行不起作用
【发布时间】:2014-08-11 02:49:20
【问题描述】:

我想获取最后一行数据,但它不会显示最后一行,而是显示第一行。 我完全。迷失在做什么。我希望有人能帮忙。谢谢。

这里是代码:(pastebin) link

【问题讨论】:

  • 您需要花几分钟时间导入相关代码,解释它的用途,并详细说明哪些地方不起作用。为了有时间花时间分析并找到问题的解决方案,您需要投入一些精力来使问题清晰简洁。避免指向您的问题的外部链接,因为如果链接被删除,它们将无法为未来带来任何好处。

标签: php mysql sql row


【解决方案1】:

如果您想要最后一行,请删除 count()。这会将查询变成聚合查询,而您似乎并不想要:

select topic_subject, view, reply, topic_date, topic_cat, topic_by
from topics
where topic_cat = '$cat_id_1'
ORDER BY topic_id DESC
limit 1;

如果你想知道结果集中没有limit的行数,可以使用SQL_CALC_FOUND_ROWS

如果您想将值放入查询中,可以通过加入聚合来实现:

select cnt.cnt, topic_subject, view, reply, topic_date, topic_cat, topic_by
from (select count(*) as cnt from topics where topic_cat = '$cat_id_1') cnt left join
     topics 
     on topics.topic_cat = '$cat_id_1'
ORDER BY topic_id DESC
limit 1;

【讨论】:

  • 如果我这样做,它会破坏我想要显示所有类别列表的代码。如果该类别没有主题,通过使用您的修复,没有任何主题的类别会消失。这是进一步理解的代码:
  • 您应该编辑问题并解释您想要返回的内容。
  • @iJoshuaHD 。 . .修改后的第二个答案可能就是你想要的。
  • 有什么想法或建议吗?
  • 第二个答案没有按我想要的方式工作。 ://
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-25
  • 2014-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-26
相关资源
最近更新 更多