使用 LIMIT 函数显示第 1、2 和 3 行,MAX 客户评分使用 MySQL
Using the LIMIT function to display the 1st, 2nd and 3rd row, with the MAX customer rating using MySQL
我需要在 table 中显示客户评价最高的第一、第二和第三个名字。我创建了以下查询:
此查询显示 table、
中的第一个、第二个和第三个名称
SELECT *
FROM donuts
WHERE customer_rating
LIMIT 1,3;
我尝试使用 MAX 函数获得 3 个最高的客户评分,但我得到的是空白 table。
SELECT MAX(customer_rating), donutName
FROM donuts
WHERE customer_rating
LIMIT 1,3;
任何建议,
使用ORDER BY
SELECT *
FROM donuts
ORDER BY customer_rating DESC
LIMIT 0, 3
你得到空结果的原因是因为 LIMIT 1, 3
打印了第二、第三和第四项,而不是第一、第二和第三项,因为 LIMIT
是从零开始的 (与 SQL 中的几乎所有其他内容不同)。但是当你使用像 MAX()
这样的聚合函数时,你只会得到一行结果(所有结果组合成一个最大值),所以没有第二个条目。
我需要在 table 中显示客户评价最高的第一、第二和第三个名字。我创建了以下查询:
此查询显示 table、
中的第一个、第二个和第三个名称SELECT *
FROM donuts
WHERE customer_rating
LIMIT 1,3;
我尝试使用 MAX 函数获得 3 个最高的客户评分,但我得到的是空白 table。
SELECT MAX(customer_rating), donutName
FROM donuts
WHERE customer_rating
LIMIT 1,3;
任何建议,
使用ORDER BY
SELECT *
FROM donuts
ORDER BY customer_rating DESC
LIMIT 0, 3
你得到空结果的原因是因为 LIMIT 1, 3
打印了第二、第三和第四项,而不是第一、第二和第三项,因为 LIMIT
是从零开始的 (与 SQL 中的几乎所有其他内容不同)。但是当你使用像 MAX()
这样的聚合函数时,你只会得到一行结果(所有结果组合成一个最大值),所以没有第二个条目。