我的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时,它仍然没有以正确的方式显示。
答案 0 :(得分:1)
您可能想要使用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