mysql order by esc,Mysql的distinct语句和group by,order by - MySQL 教程精选

最近,在做一个项目的时候,发现得出的数据于预料的相差很多,仔细的研究了一下,发现问题出在distinct语句和groupyby,orderby

首先,distinct语句,获得非重复的(唯一)行记.

grouyby是分组,orderby是排序。

直接看我的例子。

假定我有一个表f_job,有字段:

selectjob_id,com_id,job_timefromf_job orderbyjob_timedesclimit10; Te:webwebphpfhr  ee.txt

+--------+--------+---------------------+

|job_id|com_id|job_time      |

+--------+--------+---------------------+

| 5060| 2205|2006-09-2916:30:11|

| 4707| 19084|2006-09-2916:27:55|

| 4708| 19084|2006-09-2916:27:55|

| 4709| 19084|2006-09-2916:27:55|

| 4710| 19084|2006-09-2916:27:55|

| 4711| 19084|2006-09-2916:27:55|

| 4859| 19084|2006-09-2916:27:55|

| 4918| 19084|2006-09-2916:27:55|

| 5059| 2205|2006-09-2916:27:22|

| 4078| 2715|2006-09-2916:18:36|

+--------+--------+---------------------+

10rowsinset(0.03sec)

还有其他字段,不可能影响结果.此处不列出。

job_id是primarykey。com_id是外键,我需要按照时间来排序。所以必须使用orderby!

你看到了com_id在得出的结果中不唯一,对,我需要的结果就是提取com_id唯一的最近10条com_id的记录,而已。

我就以以前的MSSQL的经验写如下的语句执行:

mysql>selectdistinct(com_id)fromf_job orderbyjob_timedesclimit10; Te:webwebphpfhr  ee.txt

+--------+

|com_id|

+--------+

| 19084|

| 2197|

| 19917|

| 19580|

| 19520|

| 19664|

| 19397|

| 19900|

| 1176|

| 19449|

+--------+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值