相关疑难解决方法(0)

选择具有每个用户最近日期的行

我有一个用户登记和退出时间表("lms_attendance"),如下所示:

id  user    time    io (enum)
1   9   1370931202  out
2   9   1370931664  out
3   6   1370932128  out
4   12  1370932128  out
5   12  1370933037  in
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个这个表的视图,它只输出每个用户ID的最新记录,同时给我"in"或"out"值,如下所示:

id  user    time    io
2   9   1370931664  out
3   6   1370932128  out
5   12  1370933037  in
Run Code Online (Sandbox Code Playgroud)

我很接近,到目前为止,但我意识到,意见将不接受subquerys,这使其成为了很多困难.我得到的最接近的查询是:

select 
    `lms_attendance`.`id` AS `id`,
    `lms_attendance`.`user` AS `user`,
    max(`lms_attendance`.`time`) AS `time`,
    `lms_attendance`.`io` AS `io` 
from `lms_attendance` 
group by 
    `lms_attendance`.`user`, 
    `lms_attendance`.`io`
Run Code Online (Sandbox Code Playgroud)

但我得到的是:

id  user    time    io
3   6   1370932128  out
1   9   1370931664  out
5   12  1370933037  in …
Run Code Online (Sandbox Code Playgroud)

mysql sql greatest-n-per-group

115
推荐指数
5
解决办法
21万
查看次数

SQL按最近日期选择行

使用以下查询和结果,我正在寻找ChargeId和ChargeType唯一的最新条目.

select chargeId, chargeType, serviceMonth from invoice

    CHARGEID    CHARGETYPE  SERVICEMONTH
1   101     R       8/1/2008
2   161     N       2/1/2008
3   101     R       2/1/2008
4   101     R       3/1/2008
5   101     R       4/1/2008
6   101     R       5/1/2008
7   101     R       6/1/2008
8   101     R       7/1/2008
Run Code Online (Sandbox Code Playgroud)

期望:

    CHARGEID    CHARGETYPE  SERVICEMONTH
1   101     R       8/1/2008
2   161     N       2/1/2008
Run Code Online (Sandbox Code Playgroud)

sql oracle

95
推荐指数
4
解决办法
28万
查看次数

MySQL只加入最近一行?

我有一个表客户,存储customer_id,电子邮件和参考.有存储的客户所做的更改历史记录的附加表CUSTOMER_DATA,即当有一个变化作出了新的行插入.

为了在一个表中显示客户信息,这两个表需要连接,但只有从CUSTOMER_DATA最近的行应连接到客户表.

它有点复杂,因为查询是分页的,所以有一个限制和一个偏移量.

我怎么能用MySQL做到这一点?我想我想在那里放一个DISTINCT ......

分钟的查询是这样的 -

SELECT *, CONCAT(title,' ',forename,' ',surname) AS name
FROM customer c
INNER JOIN customer_data d on c.customer_id=d.customer_id
WHERE name LIKE '%Smith%' LIMIT 10, 20
Run Code Online (Sandbox Code Playgroud)

另外,我是否正确地认为我可以用这种方式使用CONCAT?

(我很欣赏INNER JOIN可能是错误的JOIN类型.我实际上不知道不同JOIN之间的区别.我现在要调查它!)

mysql sql join

81
推荐指数
5
解决办法
8万
查看次数

标签 统计

sql ×3

mysql ×2

greatest-n-per-group ×1

join ×1

oracle ×1