我有SQL查询问题。我想对表中的条目进行排序,所以更新的记录排在第一位。我用这个查询:
SELECT *
FROM swt_subjects
WHERE `type` = 2
ORDER BY `date_beg` DESC, `name` DESC
如果主题仅在表中出现一次,但如果主题出现几次,则在表中多次显示时效果很好。如何修改此查询以仅显示每个名称一次?
DB中的表方案为:
id, name, type, date_beg, date_end
编辑:
使用GROUP BY,仍然无法正确显示。
最佳答案
您可能要使用GROUP BY子句:
SELECT
id, name, type, MAX(date_beg) as start, MAX(date_end) as end
FROM
swt_subjects
WHERE
type = 2
GROUP BY
id, name, type
ORDER BY
start DESC, name DESC
关于php - 在mysql查询中删除冗余,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29291046/