Mysql区分一列但不是每列

时间:2015-10-28 22:53:10

标签: php mysql sql

我有一张桌子(汽车,年份和型号列表),我试图显示几年的清单,但制造汽车的年份列表可能很大。当我查询“沃尔沃”时的意思我回来了沃尔沃制造汽车的所有年份的清单,使用:

"SELECT id, year FROM `models_auto` WHERE `make`=? ORDER BY `year` DESC;"

然而,沃尔沃当年可能已经生产了50辆汽车,并且回报率全部为50年。我想要返回唯一的年份列表,而不是重复。我看了DISTINCT但是使用了:

"SELECT DISTINCT id, year FROM `models_auto` WHERE `make`=? ORDER BY `year` DESC;"

仍然会返回所有内容,因为ID是唯一的。我怎么能只有DISTINCT年?

谢谢。

2 个答案:

答案 0 :(得分:1)

如果您只想要这些年,那么您可以使用GROUP BY

SELECT `year`
FROM `models_auto`
WHERE `make`=? 
GROUP BY `year`
ORDER BY `year` DESC;"

或使用DISTINCT

SELECT DISTINCT `year`
FROM `models_auto`
WHERE `make`=? 
ORDER BY `year` DESC;"

答案 1 :(得分:0)

一种选择是使用$("#this-list :checkbox").on('click', function(){ $(this).parents(".row").toggleClass("checked"); }); 将年份作为逗号分隔列表返回:

$(this).parents("li").toggleClass("checked");