gpt4 book ai didi

mysql - 使用 ABS() 并应用带有 "AS"的标签

转载 作者:行者123 更新时间:2023-11-29 07:47:35 25 4
gpt4 key购买 nike

我当前的sql语句是

"SELECT ID,ABS(tvshows-$tvshows) + ABS(actionandadventure-$actionandadventure) + ABS(anime-$anime) + ABS(childrenandfamily-$childrenandfamily) + ABS(classics-$classics) + ABS(comidies-$comidies) + ABS(cultmovies-$cultmovies) + ABS(documentaries-$documentaries) + ABS(dramas-$dramas) + ABS(faith-$faith) + ABS(foreign1-$foreign1) + ABS(gay-$gay) + ABS(horror-$horror) + ABS(independent-$independent) + ABS(music-$music) + ABS(musicals-$musicals) + ABS(independent-$independent) + ABS(music-$music) + ABS(musicals-$musicals) + ABS(romance-$romance) + ABS(scifi-$scifi) + ABS(sports-$sports) + ABS(thrillers-$thrillers) as total FROM accounts WHERE ID != '$ID' ORDER BY total ASC LIMIT 20

我想做的是为每个 ABS 都有一个单独的标签,例如

"SELECT ID,ABS(tvshows-$tvshows) AS totaltvshows + ABS(actionandadventure-$actionandadventure) AS totalactionandadventure + etc...

这可能吗?

最佳答案

不可能。您不能为表达式的子组件添加别名。例如你正在尝试做相当于:

选择 1 作为一 + 2 作为二

并以某种方式期望 mysql 将其转换为两个单独的字段/列。不,它不会那样做。你正在做加法。您将返回ONE列,其中包含添加结果,并且您可以为该结果指定别名。

SELECT (1 + 2) AS result

可以工作

如果您想要各个组件,请将它们写出来:

SELECT ABS(a+b) AS part1, ABS(c+d) AS part2, ABS(a+b) + ABS(c+d) AS result

关于mysql - 使用 ABS() 并应用带有 "AS"的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27305127/

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