mysql - 查询有问题

标签 mysql

我有一个包含 user_idlast_updated 的数据库

SELECT user_id, MAX(last_updated) as timestamp 
  FROM online 
 WHERE user_id > 0 
 GROUP_BY user_id

我遇到了这个错误

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 'GROUP_BY user_id' at line 1

SELECT user_id, MAX(last_updated) as timestamp 
  FROM online 
 WHERE user_id > 0 
 GROUP_BY user_id

有人建议我使用上面的查询,所以我不确定为什么会出现此错误

我用谷歌搜索了group_by,但没有发现我做错了什么。我想也许 as timestamp 但不确定!

最佳答案

它是 GROUP BY 而不是 GROUP_BY...

SELECT user_id, MAX(last_updated) as timestamp 
  FROM online 
 WHERE user_id > 0 
 GROUP BY user_id

更新

根据评论,还要注意 timestamp 是一个保留字。您应该使用别名(即 max_last_updated)或使用反引号将其转义(即 `timestamp`)

关于mysql - 查询有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5738682/

相关文章:

mysql - 有关子查询和表连接的 SQL 帮助

PHP - 来自 mysql 的 json_decode

python - 如何在Sqlalchemy中加载数量有限的集合?

sql - 在与 WHERE 共享的计算上优化 MySQL ORDER BY

PHP/MySQL 多个子字符串?

mysql - 合并所有两个表但列数不同

php - Cakephp 3如何按其他表对结果进行排序

php - 警告 : array_values() expects parameter 1 to be array, 给出 null

mysql - 按每行的时间戳匹配字段检索子选择中的结果

c# - 连接字符串无效或定位服务器/实例时出错