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
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
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
如果你确定没有领带。 此外,你确定年龄的方法也不完美,你可以使用以下方法:
WHERE
case
when DATEPART(DY, owner.birth_date) > DATEPART(DY, GETDATE())
then DATEDIFF(YYYY, owner.birth_date, GETDATE()) - 1
else DATEDIFF(YYYY, owner.birth_date, GETDATE())
end >= 25
3条答案
按热度按时间0g0grzrc1#
您必须对查询进行降序排序,并且只取最上面的一行
LIMIT 1
.cdmah0mi2#
你可以从正确计算日期开始。在那之后,你可能只想
limit
:arknldoa3#
如果你想要一个最常见的类型,你可以使用
如果你确定没有领带。
此外,你确定年龄的方法也不完美,你可以使用以下方法: