[英]how to concat a $ to a particular string
这是我的程序在输出中有$不会打印。 我将使用正确的syntex作为'$'+,但它不起作用
SELECT USERS.ID,CONCAT(USERS.FIRSTNAME,' ',USERS.LASTNAME)AS USERNAME,
('$'+ SUM(CPS_HISTORY.CHARGED_AMOUNT+CPS_HISTORY.TRANSACTION_FEE+CPS_HISTORY.SERVICE_CHARGE+CPS_HISTORY.COMBO_PAK_PRICE))AS REVENUE FROM USERS JOIN CPS_HISTORY ON CPS_HISTORY.SUBSCRIBER_ID = USERS.ID GROUP BY USERS.ID ORDER BY REVENUE DESC LIMIT 5;
+---------+---------------+---------+
| ID | USERNAME | REVENUE |
+---------+---------------+---------+
| 1803399 | Michael Rowan | 772 |
| 1697091 | NULL | 676 |
| 1790000 | ree Green | 626 |
| 1766654 | Jose M NUFIO | 625 |
| 1731854 | Ashlee Durgin | 622 |
+---------+---------------+---------+
5 rows in set, 13305 warnings (0.15 sec)
concat函数的问题是:更改了数据。
+---------+-----------------+---------+
| ID | USERNAME | REVENUE |
+---------+-----------------+---------+
| 1753814 | Joseph Hearn | $99 |
| 1806377 | Gideon Anderson | $99 |
| 1800992 | Camryn Revitte | $99 |
| 1802344 | Tanner Chik | $99 |
| 1594358 | NULL | $99 |
+---------+-----------------+---------+
5 rows in set (0.00 sec)
使用concat来概括这些值:
SELECT USERS.ID,CONCAT(USERS.FIRSTNAME,' ',USERS.LASTNAME)AS USERNAME,
concat('$', SUM(CPS_HISTORY.CHARGED_AMOUNT+CPS_HISTORY.TRANSACTION_FEE+CPS_HISTORY.SERVICE_CHARGE+CPS_HISTORY.COMBO_PAK_PRICE))AS REVENUE
FROM USERS JOIN CPS_HISTORY ON CPS_HISTORY.SUBSCRIBER_ID = USERS.ID GROUP BY USERS.ID ORDER BY REVENUE DESC LIMIT 5;
数据不会更改,只会更改类型。
您正在按REVENUE
列排序,该列以前是数字,但是现在,在CONCAT()
,它是一个字符串。 而$99
作为字符串要在$772
之前(如果按DESC排序)。
有两种解决方案:
$
而不是在SQL中添加,或 使用子查询,该子查询在内部查询中进行数据选择和排序,在外部查询中进行格式化。
就像是
SELECT ID, USERNAME, CONCAT('$', REVENUE) AS REVENUE FROM (SELECT USERS.ID,CONCAT(USERS.FIRSTNAME,' ',USERS.LASTNAME) AS USERNAME, SUM(CPS_HISTORY.CHARGED_AMOUNT+CPS_HISTORY.TRANSACTION_FEE+CPS_HISTORY.SERVICE_CHARGE+CPS_HISTORY.COMBO_PAK_PRICE)) AS REVENUE FROM USERS JOIN CPS_HISTORY ON CPS_HISTORY.SUBSCRIBER_ID = USERS.ID GROUP BY USERS.ID ORDER BY REVENUE DESC LIMIT 5) AS INNER
应该做。 (未经测试!)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.