如何在 mysql 中正确设置 MIN 和 MAX?

How to properly MIN and MAX in mysql?

我有以下查询:

SELECT DISTINCT 

MIN(re1.name, re2.name) AS name1, 
       MAX(re1.name, re2.name) AS name2


FROM Rating ra1 JOIN Reviewer re1
ON re1.rID = ra1.rID
CROSS JOIN
Reviewer re2 JOIN Rating ra2 ON re2.rID = ra2.rID
WHERE ra1.mID = ra2.mID
AND re1.rID != re2.rID
AND re1.rID > re2.rID
ORDER BY name1, name2;

当我 运行 在我当前使用的学习平台(使用 sqlite)中查询时,它会计算按字母顺序排列的耦合名称列表。

但是,如果我 运行 在 vscode 中使用 mysql Ver 8.0.26 for Linux on x86_64 相同的查询 我收到以下错误:

您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在 ', re2.name) AS name1, MAX(re1.name, re2.name) AS name2 FROM Rating 附近使用的正确语法第 3 行的 ra1'

mysql 中的 MIN MAX 是否有不同的使用方式?如何使用 mysql 运行 相同的查询?

谢谢

MAX() 用于检查 同一列 ,跨多行聚合。我想你想要 GREATEST() 函数。