Display Rownum issue MySQL

两盒软妹~` 提交于 2019-12-23 17:09:30

问题


I have this Query:

SET @row_num = 0;
SELECT
(SELECT @row_num := @row_num + 1) AS itempurchase_code,
(SELECT supplier_code FROM qa_items_purchases a WHERE a.item_invoicecodesupplier = b.item_invoicecodesupplier GROUP BY supplier_code ORDER BY COUNT(*) DESC LIMIT 1) AS supplier_code, 
(SELECT user_code FROM qa_items_purchases a WHERE a.item_invoicecodesupplier = b.item_invoicecodesupplier GROUP BY user_code ORDER BY COUNT(*) DESC LIMIT 1) AS user_code,
22 AS status_code,
item_invoicecodesupplier AS item_invoicecodesupplier,
(SELECT itempurchase_date FROM qa_items_purchases a WHERE a.item_invoicecodesupplier = b.item_invoicecodesupplier GROUP BY itempurchase_date ORDER BY COUNT(*) DESC LIMIT 1) AS itempurchase_date
FROM qa_items_purchases b 
GROUP BY (item_invoicecodesupplier) 
ORDER BY itempurchase_code;

I get this Result:

If you look there is no (2) itempurchase_code column, What i can do to show the numbers in sequence?


回答1:


You must add the row number in an outer query if your query contains a GROUP BY.

SET @row_num = 0;
SELECT (SELECT @row_num := @row_num + 1) AS itempurchase_code, *
FROM
(
    SELECT ... -- your original query goes here
) AS T1
ORDER BY itempurchase_code


来源:https://stackoverflow.com/questions/11460300/display-rownum-issue-mysql

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!