我尝试此查询以获取所选行中的行号,但输出类似于23,56,78,...。我需要为每个所选行获取1,2,3。请帮我
SET @row=0;
SELECT `table1`.`col1`,`table1`.`col2`,@row:=@row+1
FROM `table1`
LEFT OUTER JOIN `table2` ON `table1`.`col1` = `table2`.`col5`
WHERE `table2`.`col5` IS NOT NULL
GROUP BY `col1` ORDER BY `table1`.`col7` DESC LIMIT 0,10
最佳答案
将带有ORDER BY
子句的查询移到子查询中。
SET @row = 0;
SELECT col1, col2, @row := @row+1
FROM (SELECT table1.col1, table1.col2
FROM table1
LEFT JOIN table2 ON table1.col1 = table2.col5
WHERE table2.col5 IS NOT NULL
GROUP BY col1
ORDER BY table1.col7 DESC
LIMIT 0, 10) AS subquery
关于php - 如何在选择查询中获取行号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34524035/