mysql尝试从某些CHAR_LENGTH和DESC排序中选择值的问题

时间:2019-05-04 05:02:42

标签: mysql sql-order-by

你好,所以在我的数据库中,我有一些玩家信息。 它将他们的信息保存在两个UID下,但他们的钱包值相同。

我当前的查询只使用两个uid,并将它们放在我的列表中。我已经搜索了一段时间,但找不到找到让我的查询舍弃长度超过10个字符的方法。

我真的很需要帮助。我很累。

当前查询:

$query = "SELECT rpname, wallet FROM darkrp_player ORDER by wallet DESC LIMIT 20";

我希望成为的人

$query = "SELECT CHAR_LENGTH(uid)10>, rpname, wallet FROM darkrp_player ORDER by wallet DESC LIMIT 20";

基本上,我试图只返回字符长度= 10的UID

先谢谢大家!

2 个答案:

答案 0 :(得分:1)

如果您只想返回uid值的最左边的10个字符,可以使用LEFT

SELECT LEFT(uid, 10) AS uid, rpname, wallet 
FROM darkrp_player 
ORDER by wallet DESC 
LIMIT 20

如果要忽略长度超过10个字符的uid值,可以在WHERE的{​​{3}}上使用uid子句:

SELECT uid, rpname, wallet 
FROM darkrp_player 
WHERE LENGTH(uid) <= 10
ORDER by wallet DESC 
LIMIT 20

答案 1 :(得分:0)

 SELECT uid, rpname, wallet FROM darkrp_player 
WHERE LENGTH(uid) = 10 ORDER by wallet DESC LIMIT 20