选择"不同的行"比前一行

时间:2014-05-16 18:25:30

标签: mysql sql

我有这种格式的数据库:

id    id_user     name           date

1  | 12       | barney | 2012-03-15 12:50:10 |
2  | 12       | barney | 2012-03-15 13:50:10 |
3  | 12       | barney | 2012-03-15 14:50:10 |
4  | 13       | roger  | 2012-03-15 15:50:10 |

我想做的就是检查是否有可能选择id WHERE id_user与之前选择的id_user不同

如果我这样做,我只能选择我的表的id '1''4'(id为'2'和' 3'没有被选中,但我不想选择我之前选择的id_user的id ,我想知道是否可以通过sql语法直接做这种事情?

2 个答案:

答案 0 :(得分:1)

select * from table_name 
where id in (select min(id) from table_name group by id_user)

答案 1 :(得分:0)

SELECT id
FROM TABLE_NAME AS t1
LEFT JOIN TABLE_NAME AS t2 ON t1.id_user =t2.id_user
AND t1.date < t2.date
WHERE t2.id_user IS NULL

我认为这样做。