我有一个关于我的SQL查询的问题似乎正在播放。
我完全准备承认我正在使用的代码中的任何错误,但我无法解决我的生活中找出正在发生的事情
以下是我的表格:
id groupingid groupid timeadded
------------------------------------------
1 1 4 1318200332
2 2 2 1318200346
3 3 1 1318200362
4 4 3 1318200388
5 5 6 1318217398
6 7 7 1318217402
7 8 8 1318217408
8 6 5 1318217413
9 9 9 1318217417
10 5 7 1319007223
65 14 14 1319068963
64 11 15 1319068950
62 10 15 1319068921
63 13 14 1319068950
61 12 14 1319068887
60 11 14 1319068850
59 10 14 1319068847
70 12 15 1319069000
我想做的就是返回任何一行'groupid'为15,然后用最高'groupingid'隔离行
因此我使用以下sql_query
SELECT *
FROM `mdl_groupings_groups`
WHERE groupid = 15
ORDER BY MAX('groupingid')
它一直在回归:
id groupingid groupid timeadded
------------------------------------------
64 11 15 1319068950
然而它应该返回id为70的行
请告诉我,由于我处于紧迫的截止日期并且不知道这里有什么问题,我错过了什么完全错误的事情。
如果格式不正确并在需要时熄火,我很抱歉..
由于
答案 0 :(得分:6)
两件事:
ORDER BY ... DESC
代替ORDER BY MAX(...)
groupingid
放在单引号中。试试这个:
SELECT *
FROM mdl_groupings_groups
WHERE groupid = 15
ORDER BY groupingid DESC
LIMIT 1
答案 1 :(得分:0)
试试这个:
select * from mdl_groupings_group
WHERE groupingID IN
(
SELECT max(groupingID) as TheMax
FROM `mdl_groupings_groups`
WHERE groupid = 15
) xx
ORDER BY groupingID DESC
LIMIT 1