我正在尝试更改当前的 mysql View ,以便在导出 View 时我有一个唯一的行 ID。
我正在尝试找到一种可能使用行号或自动增量函数的方法,但我不知道如何在 View 中执行此操作。
这是查询:
alter view daily_report as SELECT
@id := @id + 1 as id
,c.extension as Extension
,RESPONSIBLEUSEREXTENSIONID as ExtID
, sum(Duration) as Total_Talk_Time_seconds
, round(sum(Duration) / 60,2) as Total_Talk_Time_minutes
, sum(if(LEGTYPE1 = 1,1,0)) as Total_Outbound
, sum(if(LEGTYPE1 = 2,1,0)) as Total_Inbound
, sum(if(Answered = 1,0,1)) as Missed_Calls
, count(DISTINCT b.NOTABLECALLID) as Total_Calls
, NOW()
, curdate()
FROM cdrdb.session a
LEFT JOIN cdrdb.callsummary b
ON a.NOTABLECALLID = b.NOTABLECALLID
LEFT join cdrdb.mxuser c
ON a.RESPONSIBLEUSEREXTENSIONID = c.EXTENSIONID
CROSS JOIN (SELECT @id := 0 ) as var
WHERE b.ts >= curdate()
AND c.extension IN (7295,7306,7218,7247,7330,7000,7358)
group by c.extension;
有没有办法在我的 select 语句中使用行计数或其他内容,以便我的 View 具有唯一的行 ID?
最佳答案
使用用户变量
SELECT @id := @id + 1 as id, <other field>
FROM ( <your tables> )
CROSS JOIN (SELECT @id := 0 ) as var
关于mysql - 选择行计数用作任意行 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45639418/