如何在mySQL中查找最常见的字符串

时间:2018-12-06 20:51:26

标签: mysql sql

我希望在25岁以上的车主中获得最常用的汽车类型(varchar)。我写了一个查询,但它计算了所有类型的名称。 如何补充此mySQL查询以仅计算相同名称的汽车?

SELECT type, COUNT(type) 
FROM `car` 
INNER JOIN owner 
ON car.owner= tulajdonos.id 
WHERE 2018 - owner.birth_date >= 25

3 个答案:

答案 0 :(得分:1)

您必须对查询的降序进行排序,并仅用LIMIT 1占据最上面一行。

SELECT type, COUNT(type) AS counter 
FROM `car` 
INNER JOIN owner 
ON car.owner= tulajdonos.id 
WHERE 2018 - owner.birth_date >= 25
GROUP BY type
ORDER BY COUNT(type) DESC 
LIMIT 1

答案 1 :(得分:0)

如果您想使用一种最常见的类型

size=xl your-class-name

如果您确定没有联系。

此外,您确定年龄的方式也不完美,您可以使用类似的方法:

SELECT top 1 type, COUNT(type) 
    FROM `car` 
    INNER JOIN owner 
    ON car.owner= tulajdonos.id 
    WHERE 2018 - owner.birth_date >= 25
    order by count(type) desc, type

答案 2 :(得分:0)

您可以通过正确地进行日期算术开始。之后,您可能只需要limit

SELECT c.type, COUNT(*) AS counter 
FROM car c INNER JOIN
     owner o
     ON c.owner= o.id 
WHERE o.birth_date < curdate() - interval 25 year;
ORDER BY counter DESC 
LIMIT 1