MySql的一些常用查询函数(日期比较)

1、使用sum() 求和

在编程中可以指定别名,方便使用。

select sum(math),sum(chinese) as schinese from tb_grade;

ResultSet set  = statment.executeQuery();
		while(set.next()){
			System.out.println(set.getInt("sum(math)"));
			System.out.println(set.getInt("schinese"));
		}

2、使用max() 找到最大值(返回查询的字段)

mysql> select max(money) from tb_order;
+------------+
| max(money) |
+------------+
|     540000 |
+------------+

使用in查询
mysql> select * from tb_order where money in(select max(money) from tb_order);
+----+------+---------+--------+------------+
| id | name | address | money  | oDate      |
+----+------+---------+--------+------------+
|  5 | 小碗 | 北京    | 540000 | 2010-10-12 |
| 10 | a    | b       | 540000 | 2012-10-26 |
+----+------+---------+--------+------------+
2 rows in set

3、count() 主要用于查询结果中的数据条数,通常以*作为参数,也可以是字段。
mysql> select count(price) as cnt from tb_booksell where price > 100;
+-----+
| cnt |
+-----+
|   3 |
+-----+
1 row in set

4、convert 格式:convert(date_type [(length)], expression, style) 日期格式化函数。

5、日期比较 很有用。 用to_days()

mysql> select * from tb_emp where to_days(ddate) > 10000;
+----+-----+------+------------+----------+------------+
| id | did | name | job        | laborage | ddate      |
+----+-----+------+------------+----------+------------+
|  1 | 1   | 张三 | 部门经理   | 5600     | 2012-10-17 |
|  2 | 1   | 李四 | 软件工程师 | 4800     | 2012-10-03 |
|  3 | 2   | 小刘 | 部门经理   | 6800     | 2012-11-07 |
|  4 | 3   | 小张 | 测试工程师 | 7800     | 2012-10-01 |
|  5 | 4   | 小李 | 部门经理   | 7900     | 2012-10-11 |
|  6 | 5   | 小葛 | 部门经理   | 5600     | 2012-10-23 |
|  7 | 5   | 小马 | 业务员     | 6500     | 2012-10-23 |
+----+-----+------+------------+----------+------------+
7 rows in set

mysql> select * from tb_emp where to_days(ddate) > to_days('2012-10-10');
+----+-----+------+----------+----------+------------+
| id | did | name | job      | laborage | ddate      |
+----+-----+------+----------+----------+------------+
|  1 | 1   | 张三 | 部门经理 | 5600     | 2012-10-17 |
|  3 | 2   | 小刘 | 部门经理 | 6800     | 2012-11-07 |
|  5 | 4   | 小李 | 部门经理 | 7900     | 2012-10-11 |
|  6 | 5   | 小葛 | 部门经理 | 5600     | 2012-10-23 |
|  7 | 5   | 小马 | 业务员   | 6500     | 2012-10-23 |

如果时间的比较很精确,精确到时秒分就需要转换成UNIX_TIMESTAMP,换算成毫秒值来比较大小。
mysql> select UNIX_TIMESTAMP('2010-06-02 17:00')<UNIX_TIMESTAMP('2010-06-02 18:00');


6、排序就不多说了。看下多条件查询。

如果第一个字段相等,就按第二个字段排序。

mysql> select * from tb_emp order by ddate desc,laborage asc;
+----+-----+------+------------+----------+------------+
| id | did | name | job        | laborage | ddate      |
+----+-----+------+------------+----------+------------+
|  3 | 2   | 小刘 | 部门经理   | 6800     | 2012-11-07 |
|  6 | 5   | 小葛 | 部门经理   | 5600     | 2012-10-23 |
|  7 | 5   | 小马 | 业务员     | 6500     | 2012-10-23 |
|  1 | 1   | 张三 | 部门经理   | 5600     | 2012-10-17 |
|  5 | 4   | 小李 | 部门经理   | 7900     | 2012-10-11 |
|  2 | 1   | 李四 | 软件工程师 | 4800     | 2012-10-03 |
|  4 | 3   | 小张 | 测试工程师 | 7800     | 2012-10-01 |
+----+-----+------+------------+----------+------------+





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值