mysql分组 排序取每条记录中最后更新记录

昝辉Zac Zac的SEO博客,坚持12年,优化成为生活。

本文章来给大家介绍关于mysql分组 排序取每条记录中最后更新记录,有需要了解的朋友可进入参考参考。

以下是 test 表,测试sql,代码如下:

  1. CREATETABLEIFNOTEXISTS`test`(
  2. `id`int(10)unsignedNOTNULLauto_increment,
  3. `install`int(10)unsignedNOTNULL,
  4. `day`int(10)unsignedNOTNULL,
  5. `aid`int(10)unsignedNOTNULL,
  6. PRIMARYKEY(`id`)
  7. )ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=12;
  8. INSERTINTO`test`(`id`,`install`,`day`,`aid`)VALUES
  9. (1,1232,20080808,1),
  10. (2,2321,20080809,2),
  11. (3,1236,20080810,3),
  12. (5,4212,20080809,1),
  13. (6,2312,20080810,1),
  14. (7,1432,20080811,1),
  15. (8,2421,20080808,2),
  16. (9,4245,20080811,2),
  17. (10,5654,20080810,2),
  18. (11,412,20080808,3);

sql语句,代码如下:

  1. SELECTA.*FROMtestA,
  2. (SELECTaid,MAX(day)max_dayFROMtestGROUPBYaid)B
  3. WHEREA.aid=B.aidANDA.day=B.max_day
  4. ORDERBYa.installDESC

mysql实现分组排序并赋予序号的存贮过程,代码如下:

  1. dropprocedureset_rank;
  2. createprocedureset_rank()
  3. begin
  4. set@i=1;
  5. set@number=(selectcount(1)fromsuppliers_performance);
  6. updatesuppliers_performancesetscore_rank=0;
  7. while@i<@number
  8. do
  9. begin
  10. updatesuppliers_performancesetscore_rank=@iwhereidin(selectidfrom(selectidfromsuppliers_performancewherescore_rank=0orderbyscorelimit1)b);--phpfensi.com
  11. set@i=@i+1;
  12. end;
  13. endWHILE;
  14. end;

相关广告
  • mysql分组 排序取每条记录中最后更新记录 mysql分组 排序取每条记录中最后更新记录 mysql分组 排序取每条记录中最后更新记录
相关阅读

mysql分组 排序取每条记录中最后更新记录

2019/10/10 17:34:48 | 谷歌SEO算法 | 发外链