2019-05-16 11:12:04 180次浏览 3条回答 0 悬赏 100 金钱

MySQL 需求是要查出数据每天时间的最大值,请问这个怎么搞。如

张三,2019-5-5 10:30:30,
张三,2019-5-5 10:30:31,
张三,2019-5-5 10:30:50,
张三,2019-5-6 10:30:31,
张三,2019-5-6 10:35:31

求 SQL

亿速云

最佳答案

  • zhengkx 发布于 2019-05-16 17:08 举报

    表结构:

    CREATE TABLE `records`  (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `date` datetime NULL DEFAULT NULL,
      PRIMARY KEY (`id`) USING BTREE
    ) ENGINE = MyISAM AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
    
    -- ----------------------------
    -- Records of records
    -- ----------------------------
    INSERT INTO `records` VALUES (1, '张三', '2019-05-05 10:30:30');
    INSERT INTO `records` VALUES (2, '张三', '2019-05-05 10:30:31');
    INSERT INTO `records` VALUES (3, '张三', '2019-05-05 10:30:50');
    INSERT INTO `records` VALUES (4, '张三', '2019-05-06 10:30:31');
    INSERT INTO `records` VALUES (5, '张三', '2019-05-06 10:35:31');
    

    查询语句:

    select max(date), DATE_FORMAT(date, '%Y-%m-%d') as de from records GROUP BY de
    
  • 回答于 2019-05-16 12:44 举报

    按时间排序,取第一条记录

    3 条回复
    回复于 2019-05-16 14:13 回复

    我要的是怎么查每天的。。。排序我也懂

    回复于 2019-05-17 10:15 回复

    如楼下所说,按天分组,group by

    这种例子在网上很多...
    SELECT Min(id),Min(date) FROM a GROUP by (UNIX_TIMESTAMP(date) DIV 120)

    该语句是指将时间分为每2分钟为一个区间,并查询每个区间的最小id及date

    回复于 2019-05-18 09:12 回复

    好的,谢谢,主要是我不太懂group by 现在会了

  • 回答于 2019-05-16 14:29 举报

    group by 天 就行了

您需要登录后才可以回答。登录 | 立即注册
郝立国
总监

郝立国

注册时间:2017-02-09
最后登录:1天前
在线时长:63小时10分
  • 粉丝5
  • 金钱2190
  • 威望70
  • 积分3520

热门问题