gpt4 book ai didi

MySQL : How to use rownumber with a join Query statement?

转载 作者:行者123 更新时间:2023-11-29 04:13:06 25 4
gpt4 key购买 nike

我有一个 MySQL 语句,它连接 2 个表并按字段“touch”的降序显示结果。这是我的 SQL 语句

SELECT @rownum := @rownum +1 rownum, 
(IF( dm.Brand_FULL = '1', dd.Device_Brand, dm.Brand_Full )) AS Brand,
dd.Device_Model AS Model,
CONCAT( dm.Service_provider, ' ', dm.Model_Full ) AS 'Marketing Name',
max( Touch_Count ) AS Touch FROM Device_Details dd
JOIN Device_Models dm ON dd.Device_Model = dm.Model_Short,
(SELECT @rownum :=0 )r GROUP BY dd.Device_Model ORDER BY Touch_Count DESC

这给了我这样的结果

enter image description here

结果是完美的,是按照Touch字段的降序排列的,现在问题是rownum没有顺序。那么如何修改mySQL语句,这样我就可以在不改变Touch字段的DESC顺序的情况下按顺序获取rownum。

最佳答案

使用子查询:

SELECT
@rownum := @rownum + 1 AS rownum,
T1.*
FROM
(
SELECT
IF(dm.Brand_Full = '1', dd.Device_Brand, dm.Brand_Full) AS Brand,
dd.Device_Model AS Model,
CONCAT(dm.Service_provider, ' ', dm.Model_Full) AS 'Marketing Name',
MAX(Touch_Count) AS Touch
FROM Device_Details dd
JOIN Device_Models dm
ON dd.Device_Model = dm.Model_Short
GROUP BY dd.Device_Model
) AS T1, (SELECT @rownum := 0) AS r
ORDER BY Touch DESC

关于MySQL : How to use rownumber with a join Query statement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5057775/

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