这是我的查询:
SELECT *
FROM `recordstouser`
GROUP BY IdUserRecordstouser
ORDER BY IdRecordstouser DESC;
在表中,有一个字段StatusRecordstouser
可以取值0/1。所以我需要按分组的行,IdUserRecordstouser
例如分组行将是一行StatusRecordstouser = 0;
例如:
id | StatusRecordstouser | IdUserRecordstouser
1 1 2
2 1 2
3 0 2
4 0 3
输出2行:
4 | 0 | 3
3 | 0 | 2
最正确的版本:
SELECT * FROM ( SELECT * FROM `recordstouser` WHERE StatusRecordstouser = 0 ) t
JOIN detailtousers ON detailtousers.idDetailToUsers = t.IdUserRecordstouser
WHERE t.IdtoUserRecordstouser = 458
GROUP BY t.IdUserRecordstouser ORDER BY t.id DESC
错误:
Unknown column 't.IdtoUserRecordstouser' in 'where clause'
试试这个。我知道您说过您不能使用WHERE,但这有些不同。您可以在此处查看结果:http : //sqlfiddle.com/#!2/8b5a0/11
SELECT *
FROM
(
SELECT *
FROM `recordstouser`
WHERE StatusRecordstouser = 0
) t
GROUP BY t.IdUserRecordstouser
ORDER BY t.id DESC;
您也可以ORDER BY t.StatusRecordstouser ASC
代替ORDER BY t.id DESC
获得0的第一个。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句