开发者

can i use aggregation function (LAST) in mysql?

can i use aggregation functio开发者_StackOverflown (LAST) in mysql??

if yes then why give me error for following query::

SELECT `user_id`,last(`value`)
FROM `My_TABLE`
group by `user_id`

ERROR:: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(value) FROM My_TABLE group by user_id' at line 1

EDIT:: I got answer "last" is not used in MySql. then How to perform it in MySql??


No, There is nothing called LAST in mysql

See the list of aggregated function

EDIT

You can perform the same something like this

select f.user_id, f.value
from (
   select  MAX(value) as maxval
   from my_table group by user_id
) as x inner join my_table as f on f.value = x.maxval


Something like this -

SELECT * FROM table1 t1
  JOIN (SELECT depno, MAX(id) max_id FROM table1 GROUP BY depno) t2
    ON t1.depno = t2.depno AND t1.id = t2.max_id


There is no "last" function defined in MySQL. Are you just trying to get the last (newest) record?

If so:

SELECT `user_id`, `value`
FROM `My_TABLE`
ORDER BY `user_id` DESC 
LIMIT 1;

or

SELECT `user_id`, `value`
FROM `My_TABLE`
WHERE `user_id` = (SELECT MAX(`user_id`));


Because there is no such function called as last() in mysql..

Try to use group, order by clause in mysql


The best way I found how to handle this:

SELECT user_id, json_unquote(json_extract(json_objectagg('value',  value), '$.value'))
FROM my_table
GROUP BY user_id
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜