Php 初学者MySQL问题,组函数使用无效

Php 初学者MySQL问题,组函数使用无效,php,mysql,sql,database,Php,Mysql,Sql,Database,我一直在谷歌搜索,似乎找不到如何解决这个问题。我目前正在使用MySQL,并且正在尝试运行这个 从“播放的歌曲”中选择歌曲id,其中id=MAX(id) 当我运行此命令时,会收到错误消息 1111-组函数的使用无效 有人知道我做错了什么吗?作为参考,我试图在一个预先存在的数据库中获取最新一行的song_id。ID递增,因此最新的值是列中的最大ID。当我得到该列时,我想在同一行中得到它的song_id 对不起,如果这是一个超级基本的问题,我以前从来没有这样做过 谢谢 不能在where子句中使用max

我一直在谷歌搜索,似乎找不到如何解决这个问题。我目前正在使用MySQL,并且正在尝试运行这个

从“播放的歌曲”中选择歌曲id,其中id=MAX(id)

当我运行此命令时,会收到错误消息

1111-组函数的使用无效 有人知道我做错了什么吗?作为参考,我试图在一个预先存在的数据库中获取最新一行的song_id。ID递增,因此最新的值是列中的最大ID。当我得到该列时,我想在同一行中得到它的song_id

对不起,如果这是一个超级基本的问题,我以前从来没有这样做过


谢谢

不能在where子句中使用max,请尝试以下操作:

SELECT song_id FROM played_songs WHERE id=(SELECT max(id) FROM played_songs)
但更好的解决办法是:

SELECT song_id FROM played_songs ORDER BY id DESC LIMIT 1;

不能在where子句中使用max,请尝试以下操作:

SELECT song_id FROM played_songs WHERE id=(SELECT max(id) FROM played_songs)
但更好的解决办法是:

SELECT song_id FROM played_songs ORDER BY id DESC LIMIT 1;
你需要用Having而不是where。Having在您进行上一次计算时使用(获取最大id是mysql必须进行的计算)。我会这样写

SELECT song_id, MAX(id) as 
max_id FROM ‘played_songs’ 
HAVING max_id=id
你需要用Having而不是where。Having在您进行上一次计算时使用(获取最大id是mysql必须进行的计算)。我会这样写

SELECT song_id, MAX(id) as 
max_id FROM ‘played_songs’ 
HAVING max_id=id

返回的歌曲id将是不确定的,不太可能与max_id匹配。max_id=id也可能是max_id=song_id。返回的歌曲id将是不确定的,不太可能与max_id匹配。max_id=id也可能是max_id=song_id。