gpt4 book ai didi

mysql - 如何按 3 个不同列中的最小值排序?

转载 作者:行者123 更新时间:2023-11-30 01:34:47 24 4
gpt4 key购买 nike

我的表_a:

A|B|C // Columns
3|4|0 // Values

我想先按小值进行选择排序..像这样的事情:

"SELECT * FROM table_a ORDER BY (smallest of A,B,C first, second and third (Bigger one)) ASC"

returns: C=0,A=3,B=4

这可能吗?不使用 PHP 或其他脚本?

最佳答案

这是一次快速而肮脏的尝试,但似乎得到了预期的结果,但不完全确定您为什么要这样做。 http://sqlfiddle.com/#!2/1d3ec/2

SELECT
l2.A,
l2.B,
l2.C
FROM (
SELECT
l1.A,
l1.B,
l1.C,
l1.smallestColumn,
l1.largestColumn,
CASE
WHEN l1.A > l1.smallestColumn AND l1.A < l1.largestColumn THEN l1.A
WHEN l1.B > l1.smallestColumn AND l1.B < l1.largestColumn THEN l1.B
ELSE l1.C -- Fallback to C, in case of a tied result
END AS middleColumn
FROM (
SELECT
A,
B,
C,
LEAST( A , B , C ) AS smallestColumn,
GREATEST( A , B , C ) AS largestColumn
FROM table_a
) l1
) l2
ORDER BY
l2.smallestColumn,
l2.middleColumn,
l2.largestColumn;

关于mysql - 如何按 3 个不同列中的最小值排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17050242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com