首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算mysql查询中的行数?

如何计算mysql查询中的行数?
EN

Stack Overflow用户
提问于 2012-05-02 23:06:56
回答 5查看 947关注 0票数 0

我想按行号查询mysql?假设我想查询最后10行,如何在mysql查询中实现?

这是我的mysql查询,它是按6天间隔查询的,但我需要按最近10行查询,而不是按6天间隔查询。

代码语言:javascript
复制
SELECT people_id, people_number 'people number', count(people_number) 'Occurs',
  (
   Select count(people_number) from people_history
   where people_id =  5486 and date > DATE_SUB(NOW(), INTERVAL 6 DAY)
  ) 'Total',
  count(people_number)/(
      Select count(people_number) from people_history
      where people_id = 5486 and date > DATE_SUB(NOW(), INTERVAL 6 DAY)
  )*100 'Percent'
FROM people_history
where people_id = 5486 and date > DATE_SUB(NOW(), INTERVAL 6 DAY)
group by people_id, people_number
order by Percent desc`
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-05-02 23:08:56

将您的查询设置为:

代码语言:javascript
复制
SELECT * FROM people_history ORDER BY id DESC LIMIT 10

Limit允许您限制从查询中获得的结果数量。通过按ID排序,您可以获得表中的最后20个结果。

票数 4
EN

Stack Overflow用户

发布于 2012-05-02 23:08:26

LIMIT

代码语言:javascript
复制
SELECT 
    people_id,
    people_number 'people number',
    count(people_number) 'Occurs',
    (Select 
        count(people_number) 
    from 
        people_history 
    where 
        people_id = 5486 
        and date > DATE_SUB(NOW(), INTERVAL 6 DAY)) 'Total',            
    count(people_number) / 
        (Select 
            count(people_number) 
        from 
            people_history 
        where 
            people_id = 5486 
            and date > DATE_SUB(NOW(), INTERVAL 6 DAY)) *100 'Percent' 
FROM 
    people_history 
WHERE
    people_id = 5486 
    and date > DATE_SUB(NOW(), INTERVAL 6 DAY)
GROUP BY
    people_id, people_number 
ORDER BY 
    Percent desc
LIMIT 0, 10

并且您可能希望稍微重写一下该查询。

票数 1
EN

Stack Overflow用户

发布于 2012-05-02 23:10:31

颠倒顺序,最后10个是前10个,限制是10个。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10416471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档